- Usage: docker swarm join [OPTIONS] HOST:PORT
-
- Join a swarm as a node and/or manager
-
- Options:
- --advertise-addr value Advertised address (format: <ip|interface>[:port])
- --help Print usage
- --listen-addr value Listen address (format: <ip|interface>[:port)
- --token string Token for entry into the swarm
docker swarm join用来加入一个节点到一个集群。节点加入为一个manager节点或worker节点取决于使用–token参数传递过去的token。如果传递一个manager token,这个节点以管理节点加入。如果传递一个worker token,就以worker节点加入。
以manager身份添加节点到集群
下面的示例演示使用manager token添加管理节点到集群。
- $ docker swarm join --token SWMTKN-1-3pu6hszjas19xyp7ghgosyx9k8atbfcr8p2is99znpy26u2lkl-7p73s1dx5in4tatdymyhg9hu2 192.168.99.121:2377
- This node joined a swarm as a manager.
- $ docker node ls
- ID HOSTNAME STATUS AVAILABILITY MANAGER STATUS
- dkp8vy1dq1kxleu9g4u78tlag * manager2 Ready Active Reachable
- dvfxp4zseq4s0rih1selh0d20 manager1 Ready Active Leader
一个集群应该最多只能有3-7个管理节点。不参与管理仲裁的节点应该以worker身份加入。manager节点应该是稳定的主机且有静态IP地址。
以worker身份加入集群
下面的示例演示使用worker token添加worker节点到集群。
- $ docker swarm join --token SWMTKN-1-3pu6hszjas19xyp7ghgosyx9k8atbfcr8p2is99znpy26u2lkl-1awxwuwd3z9j1z3puu7rcgdbx 192.168.99.121:2377
- This node joined a swarm as a worker.
- $ docker node ls
- ID HOSTNAME STATUS AVAILABILITY MANAGER STATUS
- 7ln70fl22uw2dvjn2ft53m3q5 worker2 Ready Active
- dkp8vy1dq1kxleu9g4u78tlag worker1 Ready Active Reachable
- dvfxp4zseq4s0rih1selh0d20 * manager1 Ready Active Leader
–listen-addr value
如果节点为manager,在这个地址监听集群管理相关流量。默认是监听0.0.0.0:2377。也可以指定一个网络接口来监听这个接口的地址。例如–listen-addr eth0:2377。
端口是可选的。如果仅指定IP地址或接口名称,端口就使用默认的2377。
当加入的是一个已存在的集群时,这个参数一般不需要指定。
–advertise-addr value
指定通告给集群的节点的地址,这个地址用来给其它节点访问API和overlay网络通信。如果没有指定地址,docker将检查系统是否只有一个IP地址,如果是将使用这个地址并使用监听的端口(查看–listen-addr)。如果系统有多个IP地址,–advertise-addr就必须指定一个以便内部管理节点能够正常通信和overlay网络通信。
也可以指定一个网络接口来通告接口的地址,例如–advertise-addr eth0:2377。
端口是可选的。如果仅指定一个IP地址或接口名称,就使用端口2377。
当加入的是一个已存在的集群时,这个参数一般不需要指定。
–token string
节点加入集群所需的密钥