基于commit命令创建
1. 生成密钥对
在需要利用ssh命令远程访问docker容器的机器上,利用ssh-keygen命令生成密钥对:
$ ssh-keygen -t rsa2.启动docker容器
下载并启动一个用于提供ssh服务的docker容器:
$ docker run -itd --name sshd -p 10220:22 ubuntu:18.043.安装ssh服务
在容器中安装openssh-server:
$ docker exec sshd apt-get update
$ docker exec sshd apt-get install -y openssh-server4. 启动ssh服务
如果需要正常启动SSH服务,则目录 /var/run/sshd必须存在。下面手动创建它,并启动SSH服务:
$ docker exec sshd mkdir -p /var/run/sshd
$ docker exec -d sshd /usr/sbin/sshd -D5. 免密登录
将宿主机的公钥复制到容器的authorized_keys中:
6. 登录测试
使用ssh命令访问容器,注意:只有配置了免密登录的用户才能够访问,其他未配置免密的用户会报Permission Denied错误!
7. 提交镜像并试用
使用docker commit命令提交镜像:
使用镜像:
Last updated
Was this helpful?