docker 之 commit提交sshd镜像

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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服务并退出容器
注:如果出现以下错误
[[email protected] ~]# /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
解决方法:
[[email protected] ~]# ssh-keygen -q -t rsa -b 2048 -f /etc/ssh/ssh_host_rsa_key -N ‘‘
[[email protected] ~]# ssh-keygen -q -t ecdsa -f /etc/ssh/ssh_host_ecdsa_key -N ‘‘
[[email protected] ~]# 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 [email protected] 10222 即可进入容器

以上是关于docker 之 commit提交sshd镜像的主要内容,如果未能解决你的问题,请参考以下文章

docker commit

Docker 使用 commit 提交镜像

docker 容器commit指令和export指令有什么区别?(commit保存镜像提交历史记录,export不保存)

docker commit构建镜像(不推荐)

Docker commit镜像 制作docker镜像

Docker镜像提交命令commit的工作原理和使用方法