如何创建支持SSH服务的Docker镜像-创新互联

这篇文章主要为大家展示了“如何创建支持SSH服务的Docker镜像”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何创建支持SSH服务的Docker镜像”这篇文章吧。

为云安等地区用户提供了全套网页设计制作服务,及云安网站建设行业解决方案。主营业务为成都做网站、网站设计、云安网站设计,以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。我们深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!

(1) 首先以交互的方式运行我们本地的ubuntu容器

docker run -it ubuntu:14.04 /bin/bash

(2) 尝试使用sshd命令,会发现容器中没有安装该服务。

sshd

bash: sshd: command not found

(3) 使用apt包管理器安装openssh-server

apt-get update


apt-get install openssh-server

(4) 安装和配置SSH服务

要正常启动SSH服务,需要目录/var/run/sshd存在,手动创建它,并启动服务:

mkdir -p /var/run/sshd

/usr/sbin/sshd -D &

此时查看容器的22端口(SSH服务器默认监听的端口),已经处于监听状态:

如何创建支持SSH服务的Docker镜像

(5) 修改SSH服务的安全登陆配置

在远端客户端机器(即,非容器机器)执行命令 ssh-keygen -t rsa 生成rsa的公私密钥对,然后把公钥的信息拷贝到运行ubuntu容器机器的授权文件中:

mkdir /root/.ssh

vi /root/.ssh/authorized_keys # 粘贴客户端的公钥信息

(6) 创建自启动SSH服务的可执行文件run.sh

vi /run.sh

chmod +x /run.sh

脚本内容如下:

#!/bin/bash

/usr/sbin/sshd -D

(7) 最后退出容器,并将当前修改后的容器保存为一个新的镜像

在宿主主机执行命令 docker ps -a 查看容器的运行状态,可以得到刚才退出容器的container id,记住id前三位。

然后执行提交命令,保存新的镜像:

docker commit $(container id前三位) ubuntu_sshd_gerry:14.04

此命令提交后,会生成一个新的镜像id*(image id)和新的镜像 ubuntu_sshd_gerry:14.04(支持ssh服务的ubuntu镜像)

最后,可以使用 docker images 查看本地的镜像是否已经包含我们新创建的镜像 ubuntu_sshd_gerry:14.04。

如何创建支持SSH服务的Docker镜像

(8) 使用新镜像和配置端口映射

启动容器,并添加端口映射 10022(宿主主机端口)---> 22(容器内部SSH服务监听端口):

docker run -p 10022:22 -d ubuntu_sshd_gerry:14.04 /run.sh

启动后,可以在宿主主机上看到容器运行的详细信息:

如何创建支持SSH服务的Docker镜像

(9) 在宿主主机,或者其他远程主机,使用SSH访问10022端口来登陆容器,测试OK

如何创建支持SSH服务的Docker镜像

补充说明:

对一个镜像打一个新的tag的方法(只是tag不一样,实际是同一个image,因为image id是一样的):

docker tag $(image id) ubuntu_sshd_gerry:14.04

然后将老的tag删除掉:

docker rm $(container id)

以上是“如何创建支持SSH服务的Docker镜像”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注创新互联成都网站设计公司行业资讯频道!

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


分享名称:如何创建支持SSH服务的Docker镜像-创新互联
网站网址:http://azwzsj.com/article/pgsci.html