Docker Swarm叢集
IP 10.6.17.11 管理節點
IP 10.6.17.12 節點A
IP 10.6.17.13 節點B
IP 10.6.17.14 節點C
安裝 Swarm 所有節點
docker pull swarm
## 控制節點 安裝 zookeeper
zk://10.6.17.11:2181
## 修改 -H 新增 tcp 埠
sed -i 's/-H fd:\/\//-H tcp:\/\/0.0.0.0:2375/g' /lib/systemd/system/docker.service
systemctl daemon-reload
systemctl restart docker
## 新增節點到叢集
A:
docker -H tcp://10.6.17.12:2375 run --name node_1 --restart=always -d swarm join --addr=10.6.17.12:2375 zk://10.6.17.11/swarm
B:
docker -H tcp://10.6.17.13:2375 run --name node_2 --restart=always -d swarm join --addr=10.6.17.13:2375 zk://10.6.17.11/swarm
C:
docker -H tcp://10.6.17.14:2375 run --name node_3 --restart=always -d swarm join --addr=10.6.17.14:2375 zk://10.6.17.11/swarm
## 列出 A B C 三個節點資訊
docker -H tcp://10.6.17.11:2375 run --rm swarm list zk://10.6.17.11:2181/swarm
10.6.17.12:2375
10.6.17.13:2375
10.6.17.14:2375
## 新增 管理 服務
docker -H tcp://10.6.17.11:2375 run --name manage --restart=always -d -p 6666:2375 swarm manage zk://10.6.17.11:2181/swarm
## 管理節點中,管理 A B C 叢集
[root@localhost docker]# docker -H tcp://10.6.17.11:6666 ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
3629e76de67c swarm "/swarm join --addr=1" 4 minutes ago Up 4 minutes 2375/tcp localhost.localdomain/node_1
325b71855b86 swarm "/swarm join --addr=1" 6 minutes ago Up About a minute 2375/tcp localhost.localdomain/node_3
b888bbbfe594 swarm "/swarm join --addr=1" 6 minutes ago Up 6 minutes 2375/tcp localhost.localdomain/node_2
## 在叢集中,執行 容器
docker -H tcp://10.6.17.11:6666 run -d --name web1 nginx
docker -H tcp://10.6.17.11:6666 run -d --name web2 nginx
docker -H tcp://10.6.17.11:6666 run -d --name web3 nginx