![Aaron Lehmann](/assets/img/avatar_default.png)
Using tabs here seems to cause copy/paste problems in some terminals. Using spaces is safer. Fixes #24609 Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
4.4 KiB
swarm init
Usage: docker swarm init [OPTIONS]
Initialize a Swarm
Options:
--auto-accept value Auto acceptance policy (default worker)
--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 (default 0.0.0.0:2377)
--secret string Set secret value needed to accept nodes into cluster
--task-history-limit int Task history retention limit (default 10)
Initialize a Swarm cluster. The docker engine targeted by this command becomes a manager in the newly created one node Swarm cluster.
$ docker swarm init --listen-addr 192.168.99.121:2377
No --secret provided. Generated random secret:
4ao565v9jsuogtq5t8s379ulb
Swarm initialized: current node (1ujecd0j9n3ro9i6628smdmth) is now a manager.
To add a worker to this swarm, run the following command:
docker swarm join --secret 4ao565v9jsuogtq5t8s379ulb \
--ca-hash sha256:07ce22bd1a7619f2adc0d63bd110479a170e7c4e69df05b67a1aa2705c88ef09 \
192.168.99.121:2377
$ docker node ls
ID HOSTNAME MEMBERSHIP STATUS AVAILABILITY MANAGER STATUS LEADER
1ujecd0j9n3ro9i6628smdmth * manager1 Accepted Ready Active Reachable Yes
If a secret for joining new nodes is not provided with --secret
, docker swarm init
will
generate a random one and print it to the terminal (as seen in the example above). To initialize
a swarm with no secret, use --secret ""
.
--auto-accept value
This flag controls node acceptance into the cluster. By default, worker
nodes are
automatically accepted by the cluster. This can be changed by specifying what kinds of nodes
can be auto-accepted into the cluster. If auto-accept is not turned on, then
node accept can be used to explicitly accept a node into the cluster.
For example, the following initializes a cluster with auto-acceptance of workers, but not managers
$ docker swarm init --listen-addr 192.168.99.121:2377 --auto-accept worker
It is possible to pass a comma-separated list of node types. The following initializes a cluster
with auto-acceptance of both worker
and manager
nodes
$ docker swarm init --listen-addr 192.168.99.121:2377 --auto-accept worker,manager
To disable auto acceptance, use the none
option. Note that this option cannot
be combined with other values. When disabling auto acceptance, nodes must be
manually accepted or rejected using docker node accept
or docker node rm
.
The following example enables swarm mode with auto acceptance disabled:
$ docker swarm init --listen-addr 192.168.99.121:2377 --auto-accept none
--cert-expiry
This flag sets the validity period for node certificates.
--dispatcher-heartbeat
This flags sets the frequency with which nodes are told to use as a period to report their health.
--external-ca value
This flag sets up the swarm to use an external CA to issue node certificates. The value takes
the form protocol=X,url=Y
. The value for protocol
specifies what protocol should be used
to send signing requests to the external CA. Currently, the only supported value is cfssl
.
The URL specifies the endpoint where signing requests should be submitted.
--force-new-cluster
This flag forces an existing node that was part of a quorum that was lost to restart as a single node Manager without losing its data
--listen-addr value
The node listens for inbound Swarm manager traffic on this IP:PORT
--secret string
Secret value needed to accept nodes into the Swarm
--task-history-limit
This flag sets up task history retention limit.