docker多容器间免密集群搭建

docker多容器间免密集群搭建


从云上拉一个7.5版本的contos镜像

[root@myserver ~]# docker pull centos:7.5.1804

下拉完成镜像
查看当前镜像

[root@myserver ~]# docker images

查看镜像
打开三个xshell窗口,每个窗口各执行一条

[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

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
下面操作三台都要运行
service安装

[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 

一路回车
在这里插入图片描述在这里插入图片描述
在这里插入图片描述
移动到.ssh目录下

[root@Master /]# cd ~/.ssh 

将本机秘钥输入到authorized_keys文件

[root@Master .ssh]# cat id_rsa.pub > authorized_keys
[root@Master .ssh]# cat authorized_keys

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
添加一个寄宿主机xshell窗口
生成寄宿主机秘钥

[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

在这里插入图片描述
创建一个sh文件

[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

测试成功
在这里插入图片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章