从容器构建镜像
先下载centos镜像
docker pull centos
启动容器并进行配置
命令注释:
-it:进行交互操作
-d:等同于-d=true,表示容器将后台运行
--name:容器启动后的名字,默认不指定,将随机产生
centos:使用镜像名称
docker run -it -d --name 容器名称 centos
进入镜像,注:命令最后的参数/bin/bash表示指定进入容器时执行的命令
docker exec -it 容器名称 /bin/bash
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