[root@myserver ~]# docker pull centos:7.5.1804
[root@myserver ~]# docker images
[root@myserver ~]# docker run -i -t --name Master -h Master -p 50070:50070 centos:7.5.1804 /bin/bash
[root@myserver ~]# docker run -i -t --name Slaver1 -h Slaver1 centos:7.5.1804 /bin/bash
[root@myserver ~]# docker run -i -t --name Slaver2 -h Slaver2 centos:7.5.1804 /bin/bash
[root@Master /]# yum install -y initscripts
ifconfig安装
[root@Master /]# yum install -y net-tools.x86_64
vim安装
[root@Master /]# yum install -y vim
安装ssh客户端
[root@Master /]# yum install -y openssh-clients
安装ssh服务器
[root@Master /]# yum install -y openssh-server
生成秘钥
[root@Master /]# ssh-keygen
[root@Master /]# cd ~/.ssh
将本机秘钥输入到authorized_keys文件
[root@Master .ssh]# cat id_rsa.pub > authorized_keys
[root@Master .ssh]# cat authorized_keys
[root@myserver ~]# ssh-keygen
[root@myserver ~]# cat ~/.ssh/id_rsa.pub
将四个秘钥全部复制到三台容器的authorized_keys
[root@Master .ssh]# vim authorized_keys
将原来的秘钥删除,把上面四个复制进去。
以上操作完成后,以下指令直接一路回车下去
[root@Master .ssh]# ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key
[root@Master .ssh]# ssh-keygen -t dsa -f /etc/ssh/ssh_host_dsa_key
[root@Master .ssh]# ssh-keygen -t rsa -f /etc/ssh/ssh_host_ecdsa_key
[root@Master .ssh]# ssh-keygen -t rsa -f /etc/ssh/ssh_host_ed25519_key
[root@Master .ssh]# cd /
查看三台容器的ip
[root@Master /]# ifconfig
[root@Master /]# vim run.sh
将一下命令全部写入run.sh
#!/bin/bash
echo "172.18.0.2 Master" >> /etc/hosts
echo "172.18.0.3 Slaver1" >> /etc/hosts
echo "172.18.0.4 Slaver2" >> /etc/hosts
/usr/sbin/sshd
source /etc/profile
改变文件权限
[root@Master /]# chmod +x run.sh
运行run.sh文件
[root@Master /]# ./run.sh
进行测试
[root@Master /]# ssh Slaver1
[root@Slaver1 ~]# exit
[root@Master /]# exit
为主机保存三个容器的映射,方便主机访问三个容器
[root@myserver ~]# vim /etc/hosts
将三个ip及映射添加进去,里面原本的东西不要动
172.18.0.2 Master
172.18.0.3 Slaver1
172.18.0.4 Slaver2
随后保存三个镜像
[root@myserver ~]# docker commit Master master:v1.0
[root@myserver ~]# docker commit Slaver1 slaver1:v1.0
[root@myserver ~]# docker commit Slaver2 slaver2:v1.0
启动前将刚才的容器删掉
[root@myserver ~]# docker stop Master
[root@myserver ~]# docker rm Master
[root@myserver ~]# docker stop Slaver1
[root@myserver ~]# docker rm Slaver1
[root@myserver ~]# docker stop Slaver2
[root@myserver ~]# docker rm Slaver2
然后分别启动
[root@myserver ~]# docker run -it --name Master --hostname Master -p 50070:50070 master:v1.0
[root@myserver ~]# docker run -it --name Slaver1 --hostname Slaver1 slaver1:v1.0
[root@myserver ~]# docker run -it --name Slaver2 --hostname Slaver2 slaver2:v1.0
每个容器分别执行run.sh
[root@Master /]# ./run.sh
再测试
[root@Master /]# ssh Slaver1