docker swarm join

描述作为节点和/或管理器加入 Swarm
用法docker swarm join [OPTIONS] HOST:PORT

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

描述

将节点加入 Swarm。节点将根据您使用--token标志传递的令牌加入为管理器节点或工作节点。如果您传递管理器令牌,则节点将作为管理器加入。如果您传递工作节点令牌,则节点将作为工作节点加入。

选项

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

示例

将节点作为管理器加入 Swarm

下面的示例演示了如何使用管理器令牌加入管理器节点。

$ 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

下面的示例演示了如何使用工作节点令牌加入工作节点。

$ 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 时通常不需要此标志。

--advertise-addr 值

此标志指定将向 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来实现。