docker swarm初始化

描述

初始化一群

API 1.24+客户端和守护程序API必须都至少为1.24,才能使用此命令。在客户端上使用docker version命令检查客户端和守护程序API版本。

Swarm此命令适用于Swarm协调器。

用法

docker swarm init [OPTIONS]

选件

名称,速记 默认 描述
--advertise-addr 广告地址(格式:<ip | interface> [:port])
- 自动锁 启用管理员自动锁定(需要解锁密钥才能启动停止的管理员)
- 可用性 活性 节点的可用性(“活动” |“暂停” |“消耗”)
--cert-expiry 2160h0m0s 节点证书的有效期(ns | us | ms | s | m | h)
--data-path-addr API 1.31以上
用于数据路径通信的地址或接口(格式:<ip | interface>)
-数据路径端口 API 1.40+
用于数据路径通信的端口号(1024-49151)。如果未设置任何值或将其设置为0,则使用默认端口(4789)。
--default-addr-pool API 1.39以上
CIDR格式的默认地址池
--default-addr-pool-mask-length 24 API 1.39以上
默认地址池子网掩码长度
-调度程序心跳 5秒 调度程序心跳周期(ns | us | ms | s | m | h)
--external-ca 一个或多个证书签名端点的规范
--force-new-cluster 从当前状态强制创建新集群
--listen-addr 0.0.0.0:2377 侦听地址(格式:<ip | interface> [:port])
--max快照 API 1.25以上
要保留的其他Raft快照数量
-快照间隔 10000 API 1.25以上
Raft快照之间的日志条目数
--task-history-limit 5 任务历史记录保留限制

上级命令

命令 描述
码头工人 管理群
命令 描述
docker swarm ca 显示并旋转根CA
docker swarm初始化 初始化一群
docker swarm加入 加入一群人作为节点和/或管理者
docker swarm连接令牌 管理加入令牌
码头群离开 离开群
码头群解锁 解锁群
docker swarm解锁密钥 管理解锁密钥
docker swarm更新 更新群

扩展说明

初始化一群。该命令所针对的docker引擎将成为新创建的单节点集群中的管理员。

例子

$ 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生成两个随机令牌,一个工作人员令牌和一个管理者令牌。当您将新节点加入群集时,该节点将根据传递给群集加入的令牌作为工作节点或管理节点加入

创建群集后,可以使用swarm join-token显示或旋转令牌

- 自动锁

通过该标志,可以使用加密密钥自动锁定管理器。所有管理器存储的私钥和数据都将受到输出中打印的加密密钥的保护,没有它就无法访问。因此,存储此密钥非常重要,以便在重新启动后激活管理器。密钥可以传递给docker swarm unlock以重新激活管理器。可以通过运行docker swarm update --autolock=false禁用自动锁定。禁用它之后,不再需要加密密钥来启动管理器,并且它将在无需用户干预的情况下自行启动。

--cert-expiry

该标志设置节点证书的有效期。

-调度程序心跳

此标志设置节点被告知用作报告其运行状况的周期的频率。

--external-ca

此标志将群集设置为使用外部CA颁发节点证书。该值的形式为protocol=X,url=Y protocol的值指定应使用哪种协议将签名请求发送到外部CA。当前,唯一支持的值为cfssl 。URL指定应在其中提交签名请求的端点。

--force-new-cluster

该标志强制作为仲裁一部分丢失的现有节点作为单节点管理器重新启动,而不会丢失其数据。

--listen-addr

节点在此地址上侦听入站群管理器流量。默认值为监听0.0.0.0:2377。还可以指定一个网络接口以监听该接口的地址;例如--listen-addr eth0:2377

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

--advertise-addr

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

还可以指定一个网络接口来通告该接口的地址。例如--advertise-addr eth0:2377

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

--data-path-addr

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

-数据路径端口

该标志允许您配置用于数据路径通信的UDP端口号。提供的端口号必须在1024-49151范围内。如果未设置此标志或将其设置为0,则使用默认端口号4789。数据路径端口只能在初始化群集时配置,并且适用于加入群集的所有节点。以下示例初始化一个新的Swarm,并将数据路径端口配置为UDP端口7777。

docker swarm init --data-path-port=7777

初始化docker info后,使用docker info命令验证端口是否已配置:

docker info
	...
	ClusterID: 9vs5ygs0gguyyec4iqf2314c0
	Managers: 1
	Nodes: 1
	Data Path Port: 7777
	...

--default-addr-pool

此标志为全局作用域网络指定默认子网池。格式示例为--default-addr-pool 30.30.0.0/16 --default-addr-pool 40.40.0.0/16

--default-addr-pool-mask-length

该标志指定default-addr-pool的默认子网池掩码长度。格式示例为--default-addr-pool-mask-length 24

--task-history-limit

此标志设置任务历史记录保留限制。

--max快照

此标志设置除当前Raft快照之外还保留的旧Raft快照的数量。默认情况下,不保留任何旧快照。此选项可用于调试或存储群集状态的旧快照以用于灾难恢复。

-快照间隔

此标志指定在Raft快照之间允许多少个日志条目。将其设置为更高的数量将减少触发快照的频率。快照压缩了Raft日志,并允许更有效地将状态转移给新的管理者。但是,频繁拍摄快照会降低性能。

- 可用性

此标志指定节点加入主服务器时节点的可用性。可能的可用性值处于activepausedrain

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