参考 docker
1 我在/docker/目录下创建了个脚本是用来启动容器上面的ssh服务的
centos
vi run.sh #!/bin/bash /usr/sbin/sshd -D
2 一样在docker目录下建立dockefile文件以下:bash
[root@localhost 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 '' ##下面这行是更改配置文件sshd_config RUN sed -i 's/UsePAM yes/UsePAM no/g' /etc/ssh/sshd_config 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目录下执行的)ssh
docker build -t ssh_centos .ide
注意命令最后面是一个”.”,这说明Dockerfile是在当前目录下。 ui
若是执行成功最后会显示Successfully的字样spa
4 查看你生成的镜像
server
docker p_w_picpathsxml
5 用新的镜像建立容器ssl
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 root@localhost -p 32777
若是成功链接上就成功了!