最近有個需求,要鏈接不少個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