制作带有openssh服务的centos docker镜像

1.安装docker server
linux下安装docker server可使用yum安装(针对redhat和centos)
yum install -y docker

2.启动docker服务
systemctl start docker(启动)
systemctl enable docker (设置为开机启动)

3.查看可用镜像
docker images

4.注册docker hub账号
从docker hub仓库中下载镜像

5.拉取基础的centos镜像
docker pull docker.io/centos:7.3.1611
这里拉取的是7.3.1611版本,也就是docker tag指定的是7.3.1611,镜像中没有openssh服务,需要安装,才可以远程连接

6.启动centos镜像
docker run -d -it --name centos --privileged=true docker.io/centos:7.3.1611 /usr/sbin/init
此处加入了特权模式,否则容器中systemctl命令使用时会有D-Bus服务连接失败的报错

7.进入docker镜像
docker exec -it centos /bin/bash
或者 docker exec -it {container id} /bin/bash
此处可以用docker容器的名称,也可以用docker容器的id进入容器

8.安装openssh服务
yum -y install openssh-server
yum -y install openssh-clients
修改/etc/ssh/sshd_config配置文件
vi /etc/ssh/sshd_config
修改设置 UsePAM no
注释#HostKey /etc/ssh/ssh_host_ecdsa_key
注释#HostKey /etc/ssh/ssh_host_ed25519_key

设置容器root用户密码
passwd或者echo “root:password”|chpasswd

启动sshd服务
systemctl start sshd.service
systemctl enable sshd.service

9.退出容器
exit

10.生成镜像
docker ps -a
docker commit perfiffer/centos-base:7.3.1611
docker images

11.运行刚生成的镜像
docker run -d -it -p 10022:22 --name centos perfiffer/centos-base:7.3.1611

12.将生成的镜像推送到docker hub
docker push perfiffer/centos-base:7.3.1611

猜你喜欢

转载自blog.csdn.net/x1172031988/article/details/83109711