docker swarm join

描述以节点和/或管理器的身份加入 swarm
用法docker swarm join [OPTIONS] HOST:PORT

Swarm 此命令适用于 Swarm 编排器。

描述

将节点加入 swarm。节点根据您通过 --token 标志传递的 token 加入为管理器节点或工作节点。如果您传递管理器 token,则节点作为管理器加入。如果您传递工作节点 token,则节点作为工作节点加入。

选项

选项默认值描述
--advertise-addr广告地址(格式:<ip|interface>[:port]
--availabilityactive节点的可用性(active, pause, drain
--data-path-addrAPI 1.31+ 用于数据路径流量的地址或接口(格式:<ip|interface>
--listen-addr0.0.0.0:2377监听地址(格式:<ip|interface>[:port]
--token加入 swarm 的 token

示例

以管理器身份将节点加入 swarm

以下示例演示了使用管理器 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 个管理器,因为集群要正常运行必须有大多数管理器可用。不参与此管理仲裁的节点应作为工作节点加入。管理器应是具有静态 IP 地址的稳定主机。

以工作节点身份将节点加入 swarm

以下示例演示了使用工作节点 token 加入工作节点。

$ 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 值

如果节点是管理器,它将在此地址上监听传入的 swarm 管理器流量。默认是在 0.0.0.0:2377 上监听。也可以指定一个网络接口来监听该接口的地址;例如 --listen-addr eth0:2377

指定端口是可选的。如果值是裸 IP 地址或接口名称,将使用默认端口 2377。

加入现有 swarm 时,此标志通常不是必需的。

此标志指定将通告给 swarm 中其他成员以进行 API 访问的地址。如果未指定,Docker 将检查系统是否具有单个 IP 地址,并使用该 IP 地址和监听端口(参见 --listen-addr)。如果系统有多个 IP 地址,则必须指定 --advertise-addr,以便为管理器间通信和覆盖网络选择正确的地址。

也可以指定一个网络接口来广播该接口的地址;例如 --advertise-addr eth0:2377

指定端口是可选的。如果值是裸 IP 地址或接口名称,将使用默认端口 2377。

加入现有 swarm 时,此标志通常不是必需的。如果您通过负载均衡器加入新节点,您应该使用此标志确保节点广播其 IP 地址而不是负载均衡器的 IP 地址。

--data-path-addr

此标志指定全局范围网络驱动程序将向其他节点发布的地址,以便访问在此节点上运行的容器。使用此参数,可以将容器的数据流量与集群的管理流量分离开来。如果未指定,Docker 将使用与广告地址相同的 IP 地址或接口。

--token 字符串

节点加入 swarm 所需的密钥值

--availability

此标志指定节点在加入主节点时的可用性。可能的可用性值包括 activepausedrain

此标志在某些情况下非常有用。例如,集群可能希望拥有不作为工作节点服务的专用管理器节点。这可以通过将 --availability=drain 传递给 docker swarm join 来实现。