用dockerfile创建支持ssh服务的centos镜像

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用dockerfile创建支持ssh服务的centos镜像相关的知识,希望对你有一定的参考价值。

参考 

1 我在/docker/目录下建立了个脚本是用来启动容器上面的ssh服务的

vi run.sh
#!/bin/bash
/usr/sbin/sshd -D

2 同样在docker目录下创建dockefile文件如下:

[[email protected] sbin]# cat /docker/dockerfile 
FROM centos
RUN yum install passwd openssl openssh-server -y
##下面三行是解决sshd服务启动时报错的
RUN ssh-keygen -q -t rsa -b 2048 -f /etc/ssh/ssh_host_rsa_key -N ‘‘
RUN ssh-keygen -q -t ecdsa -f /etc/ssh/ssh_host_ecdsa_key -N ‘‘
RUN ssh-keygen -t dsa -f /etc/ssh/ssh_host_ed25519_key  -N ‘‘
ADD run.sh /usr/local/sbin/run.sh
RUN chmod 755 /usr/local/sbin/run.sh
##设置root密码
RUN echo "root:123456"|chpasswd
EXPOSE 22
##启动ssh服务
CMD ["/usr/local/sbin/run.sh"]

3 创建镜像 (我在docker目录下执行的)

docker build -t ssh_centos .

注意命令最后面是一个”.”,这说明Dockerfile是在当前目录下。 

如果执行成功最后会显示Successfully的字样

4 查看你生成的镜像

docker images

5 用新的镜像创建容器

docker run -itd -P ssh_centos /usr/local/sbin/run.sh  ## -P随机生成映射端口

也可以指定端口

docker run -d -p 10022:22 ssh_centos /usr/local/sbin/run.sh

6 最后验证(在宿主机上面)

ssh [email protected] -p 32777

如果成功连接上就成功了!

本文出自 “渐行渐远” 博客,请务必保留此出处http://825536458.blog.51cto.com/4417836/1906942

以上是关于用dockerfile创建支持ssh服务的centos镜像的主要内容,如果未能解决你的问题,请参考以下文章

通过Dockerfile创建支持SSH服务的docker镜像(centosUbuntu)

docker基于Dockerfile命令创建支持ssh服务的镜像

基于dockerfile实现支持ssh功能的镜像

通过DockerFile创建ssh服务镜像

Docker:创建支持ssh服务的镜像!!!

通过DockerFile创建tomcat+ssh服务镜像