通过Dockerfile创建SSH服务的CentOS镜像

来源:互联网 发布:淘宝医疗器械注册证号 编辑:程序博客网 时间:2024/06/05 09:42
通过Dockerfile创建支持SSH服务的CentOS镜像


1、在/root目录下新建sshd_centos目录用于存放Dockerfile和其他相关文件。

[root@node4 sshd_centos]# vim run.sh
#!/bin/bash
/usr/sbin/sshd –D
3、在宿主机上生成RSA密钥
[root@node4 sshd_centos]# cp /etc/ssh/ssh_host_rsa_key /etc/ssh/ssh_host_rsa_key.pub /root/sshd_centos
[root@node4 sshd_centos]# cat ssh_host_rsa_key.pub>authorized_keys
[root@node4 sshd_centos]# cat Dockerfile
#生成的新镜像以centos镜像为基础FROM centosMAINTAINER by liuguangshun (liuguangshun@zljr100.com)#升级系统RUN yum -y update#安装openssh-serverRUN yum -y install openssh-server#修改/etc/ssh/sshd_configRUN sed -i 's/UsePAM yes/UsePAM no/g' /etc/ssh/sshd_config#将密钥文件复制到/etc/ssh/目录中ADD ssh_host_rsa_key /etc/ssh/ssh_host_rsa_keyADD ssh_host_rsa_key.pub /etc/ssh/ssh_host_rsa_key.pubRUN mkdir -p /root/.sshADD authorized_keys /root/.ssh/authorized_keysRUN chown :ssh_keys /etc/ssh/ssh_host_rsa_keyRUN chown :ssh_keys /etc/ssh/ssh_host_rsa_key.pub#将ssh服务启动脚本复制到/usr/local/sbin目录中,并改变权限为755ADD run.sh /usr/local/sbin/run.shRUN chmod 755 /usr/local/sbin/run.sh#变更root密码为147258RUN echo "root:123456"|chpasswd#开放窗口的22端口EXPOSE 22#运行脚本,启动sshd服务CMD ["/usr/local/sbin/run.sh"] 此时 /root/sshd_centos目录下应该存在如下文件:[root@node4 sshd_centos]# docker imagesREPOSITORY          TAG                 IMAGE ID            CREATED             SIZEsshd_dockerfile     latest              421be3ddedab        2 minutes ago       335.4 MBdocker.io/centos    latest              196e0ce0c9fb        6 weeks ago         196.6 MB

7、以新创建的镜像新建容器
[root@node4 sshd_centos]# docker run -p 10022:22 -d /usr/local/sbin/run.sh
将宿主机的10022端口映射到容器的22端口,并启动sshd服务。 
现在就可以使用ssh工具远程通过宿主机的10022端口访问容器了。
阅读全文
0 0
原创粉丝点击