docker 之 commit提交sshd镜像

1、下载centos的docker镜像
docker pull centos下载最新版本
查看镜像 docker images
2、创建容器
dockr run -it -d --name sshd docker.io/centos
3、在宿主机中生成密钥对
ssh-keygen -t rsa 两个回车
cat /root/.ssh/id_rsa.pub 查看密匙,并复制到容器中
docker exec -it sshd /bin/bash 进入容器
mkdir /root/.ssh/
touch /root/.ssh/id_rsa.pub 把拷贝宿主机的密匙放在这个文件中
echo "root:123456"|chpasswd 设置容器“root”用户的密码为“123456”
编辑/etc/ssh/sshd_config 文件,把useAPM 的值设成 no
/usr/sbin/sshd -D 启动SSHD服务并退出容器
注:如果出现以下错误
[root@feb433e6dab0 ~]# /usr/sbin/sshd -D
WARNING: 'UsePAM no' is not supported in Red Hat Enterprise Linux and may cause several problems.
Could not load host key: /etc/ssh/ssh_host_rsa_key
Could not load host key: /etc/ssh/ssh_host_ecdsa_key
Could not load host key: /etc/ssh/ssh_host_ed25519_key
解决方法:
[root@feb433e6dab0 ~]# ssh-keygen -q -t rsa -b 2048 -f /etc/ssh/ssh_host_rsa_key -N ''
[root@feb433e6dab0 ~]# ssh-keygen -q -t ecdsa -f /etc/ssh/ssh_host_ecdsa_key -N ''
[root@feb433e6dab0 ~]# ssh-keygen -t dsa -f /etc/ssh/ssh_host_ed25519_key
完美解决
4、生成支持ssh的新centos镜像
docker ps -a 查看该容器
docker commit 容器ID 新的images镜像
docker images 查看生成的镜像
docker run -it -d -p 10222:22 --name 名字 新镜像
5、连接该容器
ssh root@IP 10222 即可进入容器
posted @ 2017-10-26 10:34  单机才牛  阅读(138)  评论(0编辑  收藏  举报