使用docker安裝虛擬機並打開ssh鏈接

1、需求

  最近有個需求,要鏈接不少個linux系統進行測試軟件功能,可是我這裏只有幾個虛擬機,因此須要使用docker來安裝幾十個或者上百個虛擬機來進行測試。html

2、安裝docker

  這裏就不演示怎麼安裝了,網上有不少,也能夠看這個https://www.runoob.com/docker/centos-docker-install.html,這個上面有多種機器安裝docker的教程。linux

3、具體步驟

  一、拉取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
相關文章
相關標籤/搜索