09-18 17:12 学习 Docker 为镜像添加ssh 服务 ###### 创建容器并安装SSH服务 首先获取centos:8镜像,并创建一个容器: ```shell docker pull centos:8 docker run -it centos:8 bash ``` 再在容器内执行`yum install openssh-server`安装SSH。如需要正常启动SSH还需在容器内执行`mkdir -p /var/run/sshd`和`/use/sbin/sshd -D`启动。 修改SSH服务的安全登录配置取消pam登录限制:`sed -ri 's/session required pam_loginuid.so/#session required pam_login.so/g' /etc/pam.d/sshd` 在root用户目录下创建.ssh目录,并复制需要登录的公匙信息到authorized_keys文件中 创建自动启动SSh服务的可执行文件run.sh,并添加权限 ```shell touch /run.sh chmod +x /un.sh ``` run.sh脚本内容如下 ```shell #!/bin/bash /usr/sbin/sshd -D ``` 最后退出容器 ###### 保存镜像 执行 `docker commit [container] [image]:[tag]`来保存该镜像。 ###### 使用镜像 执行`docker run -p 10022:22 -d [image]:[tag] /run.sh`命令启动。