制作可以 SSH 登录的 Docker 镜像
Docker使用系列一我们把镜像源改为了阿里云的,方便后续的操作。
执行这个命令就把源地址改为阿里的:
curl https://git.oschina.net/feedao/Docker_shell/raw/start/ali-centos.sh | sh
第一安装Docker:
yum -y install docker-io
第二 启动Docker:
service docker start
第三安装制作CentOS镜像的工具:
yum -y install febootstrap
第四 制作CentOS镜像文件centos6-image目录
febootstrap -i bash -i wget -i yum -i iputils -i iproute -i man -i vim-minimal -i openssh-server -i openssh-clients centos6 centos6-image http://mirrors.aliyun.com/centos/6/os/x86_64/
第五制作Docker镜像,镜像名字是centos6-base, 最后的点是必须要的
cd centos6-image && docker build -t centos6-base .
cd centos6-image && tar -c .|docker import - centos6-base 【测试有效】
第六制作可以ssh登陆的Docker镜像,名字是centos6-ssh
docker build -t centos6-ssh https://git.oschina.net/feedao/Docker_shell/raw/start/Dockerfile
经过前面的六个步骤,一个可以登陆的本地docker镜像就制作好了。
用户名是:root,密码是:123456
体验步骤:
创建容器:
docker run -d -p 127.0.0.1:33301:22 centos6-ssh
ssh登陆容器:
ssh root@127.0.0.1 -p 33301
输入密码后就可以开始折腾了。
通过授信无密码登陆
依赖于centos6-ssh镜像,制作第三个自动授信的镜像centos-newssh。
方法如下:
curl https://git.oschina.net/feedao/Docker_shell/raw/start/Docker-centos-autossh.sh | sh一个命令就行了,这条命令会创建一个新镜像centos-newssh
开始体验,现在不需要输入root密码了:
docker run -d -p 127.0.0.1:33306:22 -m 256M centos-newsshssh root@127.0.0.1 -p 33306 "echo $LANG;ifconfig"ssh -o StrictHostKeyChecking=no root@127.0.0.1 -p 33306 "echo $LANG;ifconfig"https://git.oschina.net/feedao/Docker_shell/raw/start/Docker-centos-autossh.sh#!/bin/sh
[ ! -d /root/.ssh ] && mkdir -p /root/.ssh
ssh-keygen -q -N "" -t dsa -f /root/.ssh/id_dsa
KEY_PUB=`cat /root/.ssh/id_dsa.pub`
[ ! -d /root/docker-temp ] && mkdir /root/docker-temp
cd /root/docker-temp
cat >/root/docker-temp/Dockerfile <<EOF
#Dockerfile
FROM centos6-ssh
MAINTAINER feedao <feedao@163.com>
EOF
echo "RUN echo \"$KEY_PUB\" > /root/.ssh/authorized_keys && chmod 600 /root/.ssh/authorized_keys " >>Dockerfile
cd /root && cat /root/docker-temp/Dockerfile | docker build -t centos-newssh -
脚本内容比较简单,就是生成新的秘钥和公钥
ssh-keygen -q -N "" -t dsa -f /root/.ssh/id_dsaecho "RUN echo \"$KEY_PUB\" > /root/.ssh/authorized_keys && chmod 600 /root/.ssh/authorized_keys " >>Dockerfilecd /root && cat /root/docker-temp/Dockerfile | docker build -t centos-newssh -rm -rf /root/docker-temp制作可以 SSH 登录的 Docker 镜像的更多相关文章
- 制作ssh互信的docker镜像
Dockerfile FROM ubuntu:16.04 # package RUN apt-get update; apt-get -y install ssh COPY ssh_config /e ...
- Centos7创建支持ssh服务的docker镜像
如何在centos7中使用docker创建一个支持ssh连接的容器 1.拉取centos7.4镜像(由于7.4目前是最稳定的版本,所以推荐使用centos7.4) docker pull centos ...
- 两种方式创建支持SSH服务的docker镜像
方法一:基于commit命令创建 1.首先,从docker的源中查看我们需要的镜像,本案例中使用Ubuntu作为基础镜像. # federico @ linux in ~ [16:57:38] $ s ...
- ssh 登录进入 docker container
1.Container安装ssh服务,博主的linux是centos ① 安装ssh sudo yum install openssh-server #安装ssh服务器 service sshd st ...
- haproxy 2.0 dataplaneapi rest api 转为graphql docker 镜像
为了方便直接使用haproxy dataplaneapi graphql 格式的查询,制作了一个简单的docker 镜像 基于dotenv 进行配置管理,可以直接通过环境变量传入参数,处理不同hapr ...
- MySQL、MongoDB、Redis数据库Docker镜像制作
MySQL.MongoDB.Redis数据库Docker镜像制作 在多台主机上进行数据库部署时,如果使用传统的MySQL的交互式的安装方式将会重复很多遍.如果做成镜像,那么我们只需要make once ...
- ssh登录docker容器
ssh登录docker容器1.启动一个docker容器# docker run -t -i ubuntu/ruby:v1 /bin/bash2.然后在容器里,安装openssh-server open ...
- 制作Docker镜像的两种方式
此文已由作者朱笑天授权网易云社区发布. 欢迎访问网易云社区,了解更多网易技术产品运营经验. 一.使用docker commit命令制作docker镜像 1. pull一个centos6.6的基础镜像, ...
- 制作可以SSH的Docker容器
以 Ubuntu 16.04为例: Docker里的root密码是随机的, 用passwd来设置新的密码 安装完SSH_SERVER后, 默认是不能用root登录的. vi /etc/ssh/sshd ...
随机推荐
- [NOIP2015] D1T2 信息传递
洛谷题目链接:https://www.luogu.org/problemnew/show/2661 一道有很多种解法的题目 通过划归,发现就是求最小环 那么立即能想到的算法:1.Tarjan求强连通分 ...
- poj 1681(Gauss 消元)
Painter's Problem Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 5875 Accepted: 2825 ...
- 初识Ant-Design
设计价值观 Ant-Design在设计方面,存在两个大的价值观,自然和确定.自然即顺其自然,在顺应用户的自我感知和行为方式来开发更自然的产品.确定即探索设计规律,并将其抽象成对象,减少设计者的主观干扰 ...
- 用JSP生成HTM网页,减轻数据库操作
原文:http://www.jspkongjian.net/news.jsp?id=396 此教程的功能: 利用servlet 实现抓取一个网页,把这个网页保存为.htm 比如抓取我们的主页inde ...
- 黑莓10开发101:Native平台
为黑莓10开发游戏或应用程序有多种方法.这是件好事,不过如果你不是在黑莓平台下进行开发,或者你仅熟悉基于旧的Java的开发平台,也许你会感到无所适从.你将作何选择?从哪里着手? 促成你做出决定的因素有 ...
- 封装log4cp p
log4cpp 是参考 log4j 所写的 c++ 版本的写 log 的库.可以在这里下载 http://log4cpp.sourceforge.net/ 我的使用方法是: 1,定义了一个 _ ...
- OpenShift应用镜像构建(2) - 链式构建
Openshift对于应用构建提供了三种模式 从应用的源代码构建并部署,Openshift通过一个S2I的构建过程编译打包并实现发布,具体可以参考 https://www.cnblogs.com/er ...
- Endnote在latex中的应用的两种方法
从endnote中向latex文档批量插入参考文献的两种方法 一.若是latex模板中参考文献编写的命令是: \begin{thebibliography} \bibitem{lab1}LIU M L ...
- #!/usr/bin/env在脚本中的作用
在linux的一些脚本,需在开头一行指定脚本的解释程序,如: #!/usr/bin/env bash #!/usr/bin/bash #!/usr/bin/env python 告诉操作系统执行这个 ...
- 流畅的python第十二章继承的优缺点学习记录
子类化内置类型的缺点 多重集成和方法解析顺序 tkinter