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

通过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 centos
MAINTAINER by liuguangshun (liuguangshun@zljr100.com)
#升级系统
RUN yum -y update
#安装openssh-server
RUN yum -y install openssh-server
#修改/etc/ssh/sshd_config
RUN sed -i 's/UsePAM yes/UsePAM no/g' /etc/ssh/sshd_config
#将密钥文件复制到/etc/ssh/目录中
ADD ssh_host_rsa_key /etc/ssh/ssh_host_rsa_key
ADD ssh_host_rsa_key.pub /etc/ssh/ssh_host_rsa_key.pub
RUN mkdir -p /root/.ssh
ADD authorized_keys /root/.ssh/authorized_keys
RUN chown :ssh_keys /etc/ssh/ssh_host_rsa_key
RUN chown :ssh_keys /etc/ssh/ssh_host_rsa_key.pub
#将ssh服务启动脚本复制到/usr/local/sbin目录中,并改变权限为755
ADD run.sh /usr/local/sbin/run.sh
RUN chmod 755 /usr/local/sbin/run.sh
#变更root密码为147258
RUN echo "root:123456"|chpasswd
#开放窗口的22端口
EXPOSE 22
#运行脚本,启动sshd服务
CMD ["/usr/local/sbin/run.sh"]
 
此时 /root/sshd_centos目录下应该存在如下文件:
[root@node4 sshd_centos]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
sshd_dockerfile     latest              421be3ddedab        2 minutes ago       335.4 MB
docker.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端口访问容器了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值