1、現在有三臺 阿里雲linux服務器。對應的公網Ip和主機名稱
47.111.111.100 master
47.111.111.101 slave1
47.111.111.102 slave2
2、 三臺 分別需要安裝 docker環境
參考:
【docker系列】阿里雲Centos7上安裝docker
3、如果需要修改主機的名稱,那修改 阿里雲的 主機名,命令:
[root@localhost /]# hostnamectl set-hostname 新的主機名
4、 修改 三臺主機的 docker.service 文件
vim /lib/systemd/system/docker.service
# 可通過 find 命令 查找 docker.service 文件
# find / -name docker.service
## 在“ExecStart=/usr/bin/dockerd”後添加“-H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock”
# 如下
[Service]
Type=notify
# the default is not to use systemd for cgroups because the delegate issues still
# exists and systemd currently does not support the cgroup feature set required
# for containers run by docker
ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock -H fd:// --containerd=/run/containerd/containerd.sock
5、重啓服務
systemctl daemon-reload
systemctl restart docker
6、在集羣中要被選舉爲manager的docker節點中運行以下命令:
docker swarm init --advertise-addr 47.111.111.100
7、保存 生成的 命令,如下:
To add a worker to this swarm, run the following command:
docker swarm join --token SWMTKN-1-3oovrzba9wjaf4fe5i3mbdnksmrdb0mjfw206qmxpsbiflmxw5-bcjueneetcbvgdhhtk3awkfno 47.111.111.100:2377
To add a manager to this swarm, run 'docker swarm join-token manager' and follow the instructions.
8、查看 集羣節點 (每臺阿里雲上,都需要開放 2375/2377 端口,用於互聯)
docker node ls
9、將其他節點加入集羣,複製 第7步生成的 docker swarm join --token....................
[root@localhost ~]# docker swarm join \
> --token SWMTKN-1-3oovrzba9wjaf4fe5i3mbdnksmrdb0mjfw206qmxpsbiflmxw5-bcjueneetcbvgdhhtk3awkfno 47.111.111.100:2377 \
> 192.168.1.130:2377
This node joined a swarm as a worker.
10、在 msater節點 查看所有節點信息
[root@master /]# docker node ls
ID HOSTNAME STATUS AVAILABILITY MANAGER STATUS ENGINE VERSION
x2h88pu8237u0aqbqnmvy3vnc * master Ready Active Leader 19.03.5
uzwuj9aavrvw6fdcisoiigktm slave1 Ready Active 19.03.5
pdwlvvud2t08565njvw63ssuv slave2 Ready Active 19.03.4
11、創建 overlay 網絡,用於跨主機 容器間的通信
docker network create --driver overlay --subnet=18.0.0.0/24 --gateway=18.0.0.254 --attachable cluster-overlay-software
說明:
--driver overlay 網絡類型
--subnet=18.0.0.0/24 子網段
--gateway=18.0.0.254 設置網關ip
--attachable 用於 swarm 服務和獨立容器跟其他 Docker 守護進程中運行的獨立容器通信的 overlay 網絡