206 swarm-manageer
207 208 swarm-worker
在 swarm-manager 上执行如下命令创建 swarm。
docker swarm init --advertise-addr 192.168.20.206
在 swarm-worker1 和 swarm-worker2 上执行
docker swarm join --token SWMTKN-1-3rryy6m3dexfk3t527bzel2p13ptk3rqx2phvcv5knunckumrf-2ezeyfasdkow8go9psy1w6y7n 192.168.20.206:2377
离开 docker swarm leave
--advertise-addr 指定与其他 node 通信的地址。
docker swarm init 输出告诉我们:
① swarm 创建成功,swarm-manager 成为 manager node。
② 添加 worker node 需要执行的命令。
③ 添加 manager node 需要执行的命令。
执行 docker node ls 查看当前 swarm 的 node,目前只有一个 manager。
[root@node-1 ~]# docker node ls
ID HOSTNAME STATUS AVAILABILITY MANAGER STATUS ENGINE VERSION
zhh9eqdn6wlv65j55nevdml9e * node-1 Ready Active Leader 18.03.1-ce
复制前面的 docker swarm join 命令,在 swarm-worker1 和 swarm-worker2 上执行,将它们添加到 swarm 中。命令输出如下:
[root@node-1 ~]# docker node ls
ID HOSTNAME STATUS AVAILABILITY MANAGER STATUS ENGINE VERSION
zhh9eqdn6wlv65j55nevdml9e * node-1 Ready Active Leader 18.03.1-ce
fja5hb4ex1mx1tltjkqjsawfp node-2 Ready Active 18.03.1-ce
p5mau7435l8v3ylbscm176diy node-3 Ready Active 18.03.1-ce
可以看到两个 worker node 已经添加进来了。
如果当时没有记录下 docker swarm init 提示的添加 worker 的完整命令,可以通过 docker swarm join-token worker 查看。
注意:此命令只能在 manager node 上执行。
至此,三节点的 swarm 集群就已经搭建好了,操作还是相当简单的。
docker node help
docker node rm node-2 移除节点