创建一个带sshd的Centos镜像

思路概述

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

代码

#查找centos镜像
docker search centos
#下载镜像
docker pull centos
#启动容器,注意,这里后面的CMD不能省略,否则容器自动退出
docker run -d -i -t  /bin/bash  
#连接到容器
docker attach   
#安装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> 
#启动新容器,并且进行端口映射
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。

你可能感兴趣的:(创建一个带sshd的Centos镜像)