diff --git a/contrib/completion/bash/docker b/contrib/completion/bash/docker index 11fe924d51..786bcd3a25 100644 --- a/contrib/completion/bash/docker +++ b/contrib/completion/bash/docker @@ -2841,14 +2841,14 @@ _docker_swarm_leave() { _docker_swarm_update() { case "$prev" in - --cert-expiry|--dispatcher-heartbeat|--task-history-limit) + --cert-expiry|--dispatcher-heartbeat|--max-snapshots|--snapshot-interval|--task-history-limit) return ;; esac case "$cur" in -*) - COMPREPLY=( $( compgen -W "--cert-expiry --dispatcher-heartbeat --help --task-history-limit" -- "$cur" ) ) + COMPREPLY=( $( compgen -W "--cert-expiry --dispatcher-heartbeat --help --max-snapshots --snapshot-interval --task-history-limit" -- "$cur" ) ) ;; esac } diff --git a/contrib/completion/zsh/_docker b/contrib/completion/zsh/_docker index d113abe019..88a8f4fb52 100644 --- a/contrib/completion/zsh/_docker +++ b/contrib/completion/zsh/_docker @@ -1630,7 +1630,10 @@ __docker_swarm_subcommand() { "($help)--advertise-addr[Advertised address]:ip\:port: " \ "($help)*--external-ca=[Specifications of one or more certificate signing endpoints]:endpoint: " \ "($help)--force-new-cluster[Force create a new cluster from current state]" \ - "($help)--listen-addr=[Listen address]:ip\:port: " && ret=0 + "($help)--listen-addr=[Listen address]:ip\:port: " \ + "($help)--max-snapshots[Number of additional Raft snapshots to retain]" \ + "($help)--snapshot-interval[Number of log entries between Raft snapshots]" \ + "($help)--task-history-limit=[Task history retention limit]:limit: " && ret=0 ;; (join) _arguments $(__docker_arguments) \ @@ -1655,7 +1658,10 @@ __docker_swarm_subcommand() { _arguments $(__docker_arguments) \ $opts_help \ "($help)--cert-expiry=[Validity period for node certificates]:duration: " \ + "($help)*--external-ca=[Specifications of one or more certificate signing endpoints]:endpoint: " \ "($help)--dispatcher-heartbeat=[Dispatcher heartbeat period]:duration: " \ + "($help)--max-snapshots[Number of additional Raft snapshots to retain]" \ + "($help)--snapshot-interval[Number of log entries between Raft snapshots]" \ "($help)--task-history-limit=[Task history retention limit]:limit: " && ret=0 ;; (help) diff --git a/docs/reference/commandline/swarm_init.md b/docs/reference/commandline/swarm_init.md index bc1ce27ddb..6c2ab81a55 100644 --- a/docs/reference/commandline/swarm_init.md +++ b/docs/reference/commandline/swarm_init.md @@ -28,6 +28,8 @@ Options: --force-new-cluster Force create a new cluster from current state --help Print usage --listen-addr value Listen address (format: [:port]) + --max-snapshots int Number of additional Raft snapshots to retain + --snapshot-interval int Number of log entries between Raft snapshots --task-history-limit int Task history retention limit (default 5) ``` @@ -64,7 +66,7 @@ This flag sets the validity period for node certificates. This flags sets the frequency with which nodes are told to use as a period to report their health. -### `--external-ca value` +### `--external-ca` 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 @@ -75,7 +77,7 @@ The URL specifies the endpoint where signing requests should be submitted. 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` +### `--listen-addr` The node listens for inbound swarm manager traffic on this address. The default is to listen on 0.0.0.0:2377. It is also possible to specify a network interface to listen on that interface's @@ -84,7 +86,7 @@ address; for example `--listen-addr eth0:2377`. Specifying a port is optional. If the value is a bare IP address or interface name, the default port 2377 will be used. -### `--advertise-addr value` +### `--advertise-addr` This flag specifies the address that will be advertised to other members of the swarm for API access and overlay networking. If unspecified, Docker will check @@ -103,6 +105,21 @@ name, the default port 2377 will be used. This flag sets up task history retention limit. +### `--max-snapshots` + +This flag sets the number of old Raft snapshots to retain in addition to the +current Raft snapshots. By default, no old snapshots are retained. This option +may be used for debugging, or to store old snapshots of the swarm state for +disaster recovery purposes. + +### `--snapshot-interval` + +This flag specifies how many log entries to allow in between Raft snapshots. +Setting this to a higher number will trigger snapshots less frequently. +Snapshots compact the Raft log and allow for more efficient transfer of the +state to new managers. However, there is a performance cost to taking snapshots +frequently. + ## Related information * [swarm join](swarm_join.md) diff --git a/docs/reference/commandline/swarm_update.md b/docs/reference/commandline/swarm_update.md index 7d49c83d36..46395cf421 100644 --- a/docs/reference/commandline/swarm_update.md +++ b/docs/reference/commandline/swarm_update.md @@ -25,6 +25,8 @@ Options: --dispatcher-heartbeat duration Dispatcher heartbeat period (default 5s) --external-ca value Specifications of one or more certificate signing endpoints --help Print usage + --max-snapshots int Number of additional Raft snapshots to retain + --snapshot-interval int Number of log entries between Raft snapshots --task-history-limit int Task history retention limit (default 5) ```