最近有个需求,要链接不少个linux系统进行测试软件功能,可是我这里只有几个虚拟机,因此须要使用docker来安装几十个或者上百个虚拟机来进行测试。html
这里就不演示怎么安装了,网上有不少,也能够看这个https://www.runoob.com/docker/centos-docker-install.html,这个上面有多种机器安装docker的教程。linux
一、拉取centos镜像docker
docker pull centos:centos7
二、查看/启动镜像centos
#查看镜像
docker images
#启动镜像
docker run -itd --name my-centos centos:centos7
三、进入镜像bash
#获取容器的id docker ps #进入容器内部 docker exec -it 9bd5d8e8a3e7 /bin/bash
四、为容器安装软件ssh
#安装ssh yum install -y openssh-server openssh-clients #修改密码命令 yum install -y passwd #service命令 yum install -y initscripts
五、修改密码测试
#修改密码命令 passwd
六、修改sshd_config配置文件centos7
#修改文件 vi /etc/ssh/sshd_config #找到UsePAM参数,设置为no
七、重启ssh并退出容器spa
#重启ssh service sshd start #这里会报错 System has not been booted with systemd as init system (PID 1). Can't operate. Failed to connect to bus: Host is down #直接进行下面的命令就行,使用最后一步的命令启动就解决这个问题了 #退出容器 exit
八、将刚刚修改的容器保存为新的镜像code
docker commit 9bd5d8e8a3e7 my-ssh-centos
九、启动新的镜像
#注意要暴露对外映射的端口 --privileged=true 和后面的 /sbin/init 必需要有,以特权模式启动容器,不然没法使用systemctl启动服务 docker run -tid --name my-ssh-0 -p 50022:22 --privileged=true 9bd5d8e8a3e7 /sbin/init