基于commit命令创建

1. 生成密钥对

在需要利用ssh命令远程访问docker容器的机器上,利用ssh-keygen命令生成密钥对:

$ ssh-keygen -t rsa

2.启动docker容器

下载并启动一个用于提供ssh服务的docker容器:

$ docker run -itd --name sshd -p 10220:22 ubuntu:18.04

3.安装ssh服务

在容器中安装openssh-server:

$ docker exec sshd apt-get update
$ docker exec sshd apt-get install -y openssh-server

4. 启动ssh服务

如果需要正常启动SSH服务,则目录 /var/run/sshd必须存在。下面手动创建它,并启动SSH服务:

$ docker exec sshd mkdir -p /var/run/sshd
$ docker exec -d sshd /usr/sbin/sshd -D

5. 免密登录

将宿主机的公钥复制到容器的authorized_keys中:

6. 登录测试

使用ssh命令访问容器,注意:只有配置了免密登录的用户才能够访问,其他未配置免密的用户会报Permission Denied错误!

7. 提交镜像并试用

  1. 使用docker commit命令提交镜像:

  2. 使用镜像:

Last updated

Was this helpful?