- Usage: docker swarm init [OPTIONS]
-
- Initialize a swarm
-
- Options:
- --advertise-addr value Advertised address (format: <ip|interface>[:port])
- --cert-expiry duration Validity period for node certificates (default 2160h0m0s)
- --dispatcher-heartbeat duration Dispatcher heartbeat period (default 5s)
- --external-ca value Specifications of one or more certificate signing endpoints
- --force-new-cluster Force create a new cluster from current state.
- --help Print usage
- --listen-addr value Listen address (format: <ip|interface>[:port])
- --task-history-limit int Task history retention limit (default 5)
初始化一个集群。docker engine收到并执行这个命令所在的主机将成为新创建的单节点集群的管理节点。
- $ docker swarm init --advertise-addr 192.168.99.121
- Swarm initialized: current node (bvz81updecsj6wjz393c09vti) is now a manager.
-
- To add a worker to this swarm, run the following command:
-
- docker swarm join \
- --token SWMTKN-1-3pu6hszjas19xyp7ghgosyx9k8atbfcr8p2is99znpy26u2lkl-1awxwuwd3z9j1z3puu7rcgdbx \
- 172.17.0.2:2377
-
- To add a manager to this swarm, run 'docker swarm join-token manager' and follow the instructions.
docker swarm init生成两个随机的tokens,一个worker token和一个manager token。当一个节点加入到这个集群时,是worker节点还是manager节点取决于传递给swarm joing的token。
当创建集群后,可以使用swarm join-token来显示或轮换token。
–cert-expiry
设置节点证书有效期
–dispatcher-heartbeat
设置节点报告它们的健康状态间隔的时间。
–external-ca value
设置集群使用一个外部CA来签发节点证书。value的格式为protocol=X,url=Y。protocol指定的是发送签名请求到外部CA所使用的协议。目前只支持cfssl。URL指定的是签名请求应该提交到哪个endpoint。
–force-new-cluster
强制一个失去仲裁能力的集群的其中一个节点重启成为一单节点集群,而不丢失数据。
–listen-addr value
在这个地址监听集群管理相关流量。默认是监听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。
–task-history-limit
设置任务历史记录保留限制。