创建一个带sshd的Centos镜像

思路概述

  1. 下载一个Centos镜像
  2. 以该镜像创建容器
  3. 连接到容器
  4. 手动安装sshd服务
  5. 保存容器修改到新镜像

代码

#查找centos镜像
docker search centos
#下载镜像
docker pull centos
#启动容器,注意,这里后面的CMD不能省略,否则容器自动退出
docker run -d -i -t <imageID> /bin/bash  
#连接到容器
docker attach <ContainerID>  
#安装OpenSSH服务
yum install openssh-server -y
#生成ssh key 
sudo ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key
sudo ssh-keygen -t dsa -f /etc/ssh/ssh_host_dsa_key
sudo ssh-keygen -t ecdsa -f /etc/ssh/ssh_host_ecdsa_key 
#退出,但不停止容器
Ctrl+P+Q
#回到Docker下面,停止容器
docker stop <容器ID>
#提交当前容器到镜像
docker commit <容器ID> <NAME/VERSION>
#启动新容器,并且进行端口映射
docker run -itd -p 2222:22 centos-sshd /usr/sbin/sshd -D

要点

  1. 即使使用-d去启动容器,也要给出CMD参数,否则centos容器启动后自动退出。
  2. sshd不能用服务的方式启动,因为centos7的镜像中没有systemctl命令。需要/usr/sbin/sshd -D来启动sshd。
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容