Docker Swarm集群
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