从容器构建镜像

先下载centos镜像

docker pull centos

启动容器并进行配置

命令注释:
-it:进行交互操作
-d:等同于-d=true,表示容器将后台运行
--name:容器启动后的名字,默认不指定,将随机产生
centos:使用镜像名称
docker run -it -d --name 容器名称 centos

进入镜像,注:命令最后的参数/bin/bash表示指定进入容器时执行的命令

docker exec -it 容器名称 /bin/bash

安装一下必备软件net-tools,openssh-server等等其他的

yum install openssh-server net-tools -y

创建必备的ssh所需目录,并创建sshd启动脚本

mkdir -pv /var/run/sshd
Vi /auto_sshd.sh 
填入:
    #!/bin/bash
    /usr/sbin/sshd -D
chmod +x /auto_sshd.sh

修改容器内root账号密码

echo "root:密码" | chpasswd 

生成ssh主机dsa密钥(不然ssh连接容器时,会报错)

ssh-keygen -t dsa -f /etc/ssh/ssh_host_dsa_key
ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key

退出docker容器

exit 1

进行commit制作镜像

命令注释:
 --change : 将后期使用此镜像运行容器时的命令参数、开放的容器端口提前设置好
docker commit --change='CMD ["/auto_sshd.sh"]' -c "EXPOSE 22" 旧容器名称 新镜像名称

然后启动新容器

docker run -d -it --name 容器名(自取) 新镜像名

查看容器的ip

docker exec 容器名 hostname -i

ssh连接容器

ssh root@172.17.0.4