From 3950e84534da2dcb6ca4f20942b708c71eaad10b Mon Sep 17 00:00:00 2001 From: gbarr01 Date: Wed, 20 Dec 2017 11:27:05 -0800 Subject: [PATCH] Update CLI reference files and TOC --- _data/engine-cli-edge/docker_build.yaml | 8 +- .../docker_container_create.yaml | 6 + .../docker_container_exec.yaml | 7 + .../docker_container_logs.yaml | 7 + .../engine-cli-edge/docker_container_run.yaml | 6 + _data/engine-cli-edge/docker_create.yaml | 8 +- _data/engine-cli-edge/docker_exec.yaml | 28 +- _data/engine-cli-edge/docker_image_build.yaml | 6 + _data/engine-cli-edge/docker_image_pull.yaml | 6 + _data/engine-cli-edge/docker_logs.yaml | 21 + .../docker_network_create.yaml | 2 +- _data/engine-cli-edge/docker_pull.yaml | 6 + _data/engine-cli-edge/docker_run.yaml | 18 +- .../docker_service_create.yaml | 1166 +++++------------ .../docker_service_update.yaml | 36 +- _data/engine-cli-edge/docker_trust.yaml | 2 + .../engine-cli-edge/docker_trust_inspect.yaml | 116 ++ _data/engine-cli-edge/docker_trust_sign.yaml | 7 + _data/engine-cli/docker.yaml | 2 + _data/engine-cli/docker_build.yaml | 61 +- _data/engine-cli/docker_container_create.yaml | 6 + _data/engine-cli/docker_container_exec.yaml | 7 + _data/engine-cli/docker_container_logs.yaml | 7 + _data/engine-cli/docker_container_run.yaml | 6 + _data/engine-cli/docker_container_stats.yaml | 6 + _data/engine-cli/docker_create.yaml | 8 +- _data/engine-cli/docker_events.yaml | 6 +- _data/engine-cli/docker_exec.yaml | 28 +- _data/engine-cli/docker_image_build.yaml | 6 + _data/engine-cli/docker_image_pull.yaml | 6 + _data/engine-cli/docker_login.yaml | 89 +- _data/engine-cli/docker_logs.yaml | 21 + _data/engine-cli/docker_network_create.yaml | 2 +- _data/engine-cli/docker_pull.yaml | 6 + _data/engine-cli/docker_rmi.yaml | 2 +- _data/engine-cli/docker_run.yaml | 18 +- _data/engine-cli/docker_secret_create.yaml | 9 +- _data/engine-cli/docker_service_create.yaml | 1139 +++++----------- _data/engine-cli/docker_service_rollback.yaml | 2 +- _data/engine-cli/docker_service_scale.yaml | 2 +- _data/engine-cli/docker_service_update.yaml | 43 +- _data/engine-cli/docker_stats.yaml | 70 +- _data/engine-cli/docker_swarm_join.yaml | 5 +- _data/engine-cli/docker_system_prune.yaml | 146 ++- _data/engine-cli/docker_trust.yaml | 23 + _data/engine-cli/docker_trust_inspect.yaml | 116 ++ _data/engine-cli/docker_trust_key.yaml | 15 + .../engine-cli/docker_trust_key_generate.yaml | 15 + _data/engine-cli/docker_trust_key_load.yaml | 16 + _data/engine-cli/docker_trust_revoke.yaml | 58 + _data/engine-cli/docker_trust_sign.yaml | 57 + _data/engine-cli/docker_trust_signer.yaml | 15 + _data/engine-cli/docker_trust_signer_add.yaml | 15 + .../docker_trust_signer_remove.yaml | 18 + _data/engine-cli/docker_trust_view.yaml | 66 + _data/engine-cli/docker_unpause.yaml | 1 + _data/toc.yaml | 39 + .../reference/commandline/config_create.md | 18 + .../reference/commandline/config_inspect.md | 18 + .../engine/reference/commandline/config_ls.md | 18 + .../engine/reference/commandline/config_rm.md | 18 + edge/engine/reference/commandline/swarm_ca.md | 18 + .../reference/commandline/trust_inspect.md | 18 + engine/reference/commandline/README.md | 6 +- engine/reference/commandline/attach.md | 4 +- engine/reference/commandline/build.md | 2 +- engine/reference/commandline/checkpoint.md | 2 +- .../commandline/checkpoint_create.md | 2 +- engine/reference/commandline/checkpoint_ls.md | 2 +- engine/reference/commandline/checkpoint_rm.md | 2 +- engine/reference/commandline/commit.md | 2 +- engine/reference/commandline/config.md | 2 +- engine/reference/commandline/config_create.md | 2 +- .../reference/commandline/config_inspect.md | 2 +- engine/reference/commandline/config_ls.md | 2 +- engine/reference/commandline/config_rm.md | 2 +- engine/reference/commandline/container.md | 2 +- .../reference/commandline/container_attach.md | 2 +- .../reference/commandline/container_commit.md | 2 +- engine/reference/commandline/container_cp.md | 2 +- .../reference/commandline/container_create.md | 2 +- .../reference/commandline/container_diff.md | 2 +- .../reference/commandline/container_exec.md | 2 +- .../reference/commandline/container_export.md | 2 +- .../commandline/container_inspect.md | 2 +- .../reference/commandline/container_kill.md | 2 +- .../reference/commandline/container_logs.md | 2 +- engine/reference/commandline/container_ls.md | 2 +- .../reference/commandline/container_pause.md | 2 +- .../reference/commandline/container_port.md | 2 +- .../reference/commandline/container_prune.md | 2 +- .../reference/commandline/container_rename.md | 2 +- .../commandline/container_restart.md | 2 +- engine/reference/commandline/container_rm.md | 2 +- engine/reference/commandline/container_run.md | 2 +- .../reference/commandline/container_start.md | 2 +- .../reference/commandline/container_stats.md | 2 +- .../reference/commandline/container_stop.md | 2 +- engine/reference/commandline/container_top.md | 2 +- .../commandline/container_unpause.md | 2 +- .../reference/commandline/container_update.md | 2 +- .../reference/commandline/container_wait.md | 2 +- engine/reference/commandline/cp.md | 2 +- engine/reference/commandline/create.md | 2 +- engine/reference/commandline/deploy.md | 2 +- engine/reference/commandline/diff.md | 2 +- engine/reference/commandline/docker.md | 2 +- engine/reference/commandline/events.md | 2 +- engine/reference/commandline/exec.md | 2 +- engine/reference/commandline/export.md | 2 +- engine/reference/commandline/history.md | 2 +- engine/reference/commandline/image.md | 2 +- engine/reference/commandline/image_build.md | 2 +- engine/reference/commandline/image_history.md | 2 +- engine/reference/commandline/image_import.md | 2 +- engine/reference/commandline/image_inspect.md | 2 +- engine/reference/commandline/image_load.md | 2 +- engine/reference/commandline/image_ls.md | 2 +- engine/reference/commandline/image_prune.md | 2 +- engine/reference/commandline/image_pull.md | 2 +- engine/reference/commandline/image_push.md | 2 +- engine/reference/commandline/image_rm.md | 2 +- engine/reference/commandline/image_save.md | 2 +- engine/reference/commandline/image_tag.md | 2 +- engine/reference/commandline/images.md | 2 +- engine/reference/commandline/import.md | 2 +- engine/reference/commandline/inspect.md | 2 +- engine/reference/commandline/kill.md | 2 +- engine/reference/commandline/load.md | 2 +- engine/reference/commandline/login.md | 2 +- engine/reference/commandline/logout.md | 2 +- engine/reference/commandline/logs.md | 2 +- engine/reference/commandline/network.md | 2 +- .../reference/commandline/network_connect.md | 2 +- .../reference/commandline/network_create.md | 2 +- .../commandline/network_disconnect.md | 2 +- .../reference/commandline/network_inspect.md | 2 +- engine/reference/commandline/network_ls.md | 2 +- engine/reference/commandline/network_prune.md | 2 +- engine/reference/commandline/network_rm.md | 2 +- engine/reference/commandline/node.md | 2 +- engine/reference/commandline/node_demote.md | 2 +- engine/reference/commandline/node_inspect.md | 2 +- engine/reference/commandline/node_ls.md | 2 +- engine/reference/commandline/node_promote.md | 2 +- engine/reference/commandline/node_ps.md | 2 +- engine/reference/commandline/node_rm.md | 2 +- engine/reference/commandline/node_update.md | 2 +- engine/reference/commandline/pause.md | 2 +- engine/reference/commandline/plugin.md | 2 +- engine/reference/commandline/plugin_create.md | 2 +- .../reference/commandline/plugin_disable.md | 2 +- engine/reference/commandline/plugin_enable.md | 2 +- .../reference/commandline/plugin_inspect.md | 2 +- .../reference/commandline/plugin_install.md | 2 +- engine/reference/commandline/plugin_ls.md | 2 +- engine/reference/commandline/plugin_push.md | 2 +- engine/reference/commandline/plugin_rm.md | 2 +- engine/reference/commandline/plugin_set.md | 2 +- .../reference/commandline/plugin_upgrade.md | 2 +- engine/reference/commandline/port.md | 2 +- engine/reference/commandline/ps.md | 2 +- engine/reference/commandline/pull.md | 2 +- engine/reference/commandline/push.md | 2 +- engine/reference/commandline/rename.md | 2 +- engine/reference/commandline/restart.md | 2 +- engine/reference/commandline/rm.md | 2 +- engine/reference/commandline/rmi.md | 2 +- engine/reference/commandline/run.md | 2 +- engine/reference/commandline/save.md | 2 +- engine/reference/commandline/search.md | 2 +- engine/reference/commandline/secret.md | 2 +- engine/reference/commandline/secret_create.md | 2 +- .../reference/commandline/secret_inspect.md | 2 +- engine/reference/commandline/secret_ls.md | 2 +- engine/reference/commandline/secret_rm.md | 2 +- engine/reference/commandline/service.md | 2 +- .../reference/commandline/service_create.md | 2 +- .../reference/commandline/service_inspect.md | 2 +- engine/reference/commandline/service_logs.md | 2 +- engine/reference/commandline/service_ls.md | 2 +- engine/reference/commandline/service_ps.md | 2 +- engine/reference/commandline/service_rm.md | 2 +- engine/reference/commandline/service_scale.md | 2 +- .../reference/commandline/service_update.md | 2 +- engine/reference/commandline/stack.md | 2 +- engine/reference/commandline/stack_deploy.md | 2 +- engine/reference/commandline/stack_ls.md | 2 +- engine/reference/commandline/stack_ps.md | 2 +- engine/reference/commandline/stack_rm.md | 2 +- .../reference/commandline/stack_services.md | 2 +- engine/reference/commandline/start.md | 2 +- engine/reference/commandline/stats.md | 2 +- engine/reference/commandline/stop.md | 2 +- engine/reference/commandline/swarm.md | 2 +- engine/reference/commandline/swarm_ca.md | 2 +- engine/reference/commandline/swarm_init.md | 2 +- .../reference/commandline/swarm_join-token.md | 2 +- engine/reference/commandline/swarm_join.md | 2 +- engine/reference/commandline/swarm_leave.md | 2 +- .../reference/commandline/swarm_unlock-key.md | 2 +- engine/reference/commandline/swarm_unlock.md | 2 +- engine/reference/commandline/swarm_update.md | 2 +- engine/reference/commandline/system.md | 2 +- engine/reference/commandline/system_df.md | 2 +- engine/reference/commandline/system_events.md | 2 +- engine/reference/commandline/system_info.md | 2 +- engine/reference/commandline/system_prune.md | 2 +- engine/reference/commandline/tag.md | 2 +- engine/reference/commandline/top.md | 2 +- engine/reference/commandline/trust.md | 18 + engine/reference/commandline/trust_inspect.md | 18 + engine/reference/commandline/trust_key.md | 18 + .../commandline/trust_key_generate.md | 18 + .../reference/commandline/trust_key_load.md | 18 + engine/reference/commandline/trust_revoke.md | 18 + engine/reference/commandline/trust_sign.md | 18 + engine/reference/commandline/trust_signer.md | 18 + .../reference/commandline/trust_signer_add.md | 18 + .../commandline/trust_signer_remove.md | 18 + engine/reference/commandline/trust_view.md | 18 + engine/reference/commandline/unpause.md | 2 +- engine/reference/commandline/update.md | 2 +- engine/reference/commandline/version.md | 2 +- engine/reference/commandline/volume.md | 2 +- engine/reference/commandline/volume_create.md | 2 +- .../reference/commandline/volume_inspect.md | 2 +- engine/reference/commandline/volume_ls.md | 2 +- engine/reference/commandline/volume_prune.md | 2 +- engine/reference/commandline/volume_rm.md | 2 +- engine/reference/commandline/wait.md | 2 +- 231 files changed, 2323 insertions(+), 1916 deletions(-) create mode 100644 _data/engine-cli-edge/docker_trust_inspect.yaml create mode 100644 _data/engine-cli/docker_trust.yaml create mode 100644 _data/engine-cli/docker_trust_inspect.yaml create mode 100644 _data/engine-cli/docker_trust_key.yaml create mode 100644 _data/engine-cli/docker_trust_key_generate.yaml create mode 100644 _data/engine-cli/docker_trust_key_load.yaml create mode 100644 _data/engine-cli/docker_trust_revoke.yaml create mode 100644 _data/engine-cli/docker_trust_sign.yaml create mode 100644 _data/engine-cli/docker_trust_signer.yaml create mode 100644 _data/engine-cli/docker_trust_signer_add.yaml create mode 100644 _data/engine-cli/docker_trust_signer_remove.yaml create mode 100644 _data/engine-cli/docker_trust_view.yaml create mode 100644 edge/engine/reference/commandline/config_create.md create mode 100644 edge/engine/reference/commandline/config_inspect.md create mode 100644 edge/engine/reference/commandline/config_ls.md create mode 100644 edge/engine/reference/commandline/config_rm.md create mode 100644 edge/engine/reference/commandline/swarm_ca.md create mode 100644 edge/engine/reference/commandline/trust_inspect.md create mode 100644 engine/reference/commandline/trust.md create mode 100644 engine/reference/commandline/trust_inspect.md create mode 100644 engine/reference/commandline/trust_key.md create mode 100644 engine/reference/commandline/trust_key_generate.md create mode 100644 engine/reference/commandline/trust_key_load.md create mode 100644 engine/reference/commandline/trust_revoke.md create mode 100644 engine/reference/commandline/trust_sign.md create mode 100644 engine/reference/commandline/trust_signer.md create mode 100644 engine/reference/commandline/trust_signer_add.md create mode 100644 engine/reference/commandline/trust_signer_remove.md create mode 100644 engine/reference/commandline/trust_view.md diff --git a/_data/engine-cli-edge/docker_build.yaml b/_data/engine-cli-edge/docker_build.yaml index 7807581afa..b6d95c8e2d 100644 --- a/_data/engine-cli-edge/docker_build.yaml +++ b/_data/engine-cli-edge/docker_build.yaml @@ -224,6 +224,12 @@ options: description: Do not use cache when building the image deprecated: false experimental: false +- option: platform + value_type: string + description: Set platform if server is multi-platform capable + deprecated: false + min_api_version: "1.32" + experimental: true - option: pull value_type: bool default_value: "false" @@ -429,7 +435,7 @@ examples: "### Build with PATH\n\n```bash\n$ docker build .\n\nUploading context copies of the image, one for the build cache with all the cache\n layers in tact, and one for the squashed version.\n- While squashing layers may produce smaller images, it may have a negative\n impact on performance, as a single layer takes - longer to extract, and\n downloading a single layer cannot be paralellized.\n- + longer to extract, and\n downloading a single layer cannot be parallelized.\n- When attempting to squash an image that does not make changes to the\n filesystem (for example, the Dockerfile only contains `ENV` instructions),\n the squash step will fail (see [issue #33823](https://github.com/moby/moby/issues/33823)\n\n#### diff --git a/_data/engine-cli-edge/docker_container_create.yaml b/_data/engine-cli-edge/docker_container_create.yaml index e58bc7b13e..9fdba72ac0 100644 --- a/_data/engine-cli-edge/docker_container_create.yaml +++ b/_data/engine-cli-edge/docker_container_create.yaml @@ -417,6 +417,12 @@ options: description: Tune container pids limit (set -1 for unlimited) deprecated: false experimental: false +- option: platform + value_type: string + description: Set platform if server is multi-platform capable + deprecated: false + min_api_version: "1.32" + experimental: true - option: privileged value_type: bool default_value: "false" diff --git a/_data/engine-cli-edge/docker_container_exec.yaml b/_data/engine-cli-edge/docker_container_exec.yaml index fe128ec007..c9de3ca728 100644 --- a/_data/engine-cli-edge/docker_container_exec.yaml +++ b/_data/engine-cli-edge/docker_container_exec.yaml @@ -50,6 +50,13 @@ options: description: 'Username or UID (format: [:])' deprecated: false experimental: false +- option: workdir + shorthand: w + value_type: string + description: Working directory inside the container + deprecated: false + min_api_version: "1.35" + experimental: false deprecated: false experimental: false diff --git a/_data/engine-cli-edge/docker_container_logs.yaml b/_data/engine-cli-edge/docker_container_logs.yaml index 68d4b2d9a4..9a13f7a6b3 100644 --- a/_data/engine-cli-edge/docker_container_logs.yaml +++ b/_data/engine-cli-edge/docker_container_logs.yaml @@ -37,6 +37,13 @@ options: description: Show timestamps deprecated: false experimental: false +- option: until + value_type: string + description: | + Show logs before a timestamp (e.g. 2013-01-02T13:23:37) or relative (e.g. 42m for 42 minutes) + deprecated: false + min_api_version: "1.35" + experimental: false deprecated: false experimental: false diff --git a/_data/engine-cli-edge/docker_container_run.yaml b/_data/engine-cli-edge/docker_container_run.yaml index c49190416f..e4dac8f532 100644 --- a/_data/engine-cli-edge/docker_container_run.yaml +++ b/_data/engine-cli-edge/docker_container_run.yaml @@ -429,6 +429,12 @@ options: description: Tune container pids limit (set -1 for unlimited) deprecated: false experimental: false +- option: platform + value_type: string + description: Set platform if server is multi-platform capable + deprecated: false + min_api_version: "1.32" + experimental: true - option: privileged value_type: bool default_value: "false" diff --git a/_data/engine-cli-edge/docker_create.yaml b/_data/engine-cli-edge/docker_create.yaml index 07f1c75830..bc62179a01 100644 --- a/_data/engine-cli-edge/docker_create.yaml +++ b/_data/engine-cli-edge/docker_create.yaml @@ -428,6 +428,12 @@ options: description: Tune container pids limit (set -1 for unlimited) deprecated: false experimental: false +- option: platform + value_type: string + description: Set platform if server is multi-platform capable + deprecated: false + min_api_version: "1.32" + experimental: true - option: privileged value_type: bool default_value: "false" @@ -628,7 +634,7 @@ examples: |- user cannot pass a size less than the Default BaseFS Size. For the `overlay2` storage driver, the size option is only available if the backing fs is `xfs` and mounted with the `pquota` mount option. - Under these conditions, user can pass any size less then the backing fs size. + Under these conditions, user can pass any size less than the backing fs size. ### Specify isolation technology for container (--isolation) diff --git a/_data/engine-cli-edge/docker_exec.yaml b/_data/engine-cli-edge/docker_exec.yaml index 451fe05a2b..c2edeff798 100644 --- a/_data/engine-cli-edge/docker_exec.yaml +++ b/_data/engine-cli-edge/docker_exec.yaml @@ -7,7 +7,7 @@ long: |- process (`PID 1`) is running, and it is not restarted if the container is restarted. - COMMAND will run in the default directory of the container. It the + COMMAND will run in the default directory of the container. If the underlying image has a custom directory specified with the WORKDIR directive in its Dockerfile, this will be used instead. @@ -63,6 +63,13 @@ options: description: 'Username or UID (format: [:])' deprecated: false experimental: false +- option: workdir + shorthand: w + value_type: string + description: Working directory inside the container + deprecated: false + min_api_version: "1.35" + experimental: false examples: "### Run `docker exec` on a running container\n\nFirst, start a container.\n\n```bash\n$ docker run --name ubuntu_bash --rm -i -t ubuntu bash\n```\n\nThis will create a container named `ubuntu_bash` and start a Bash session.\n\nNext, execute a command @@ -74,14 +81,17 @@ examples: "### Run `docker exec` on a running container\n\nFirst, start a contai bash session.\n\n```bash\n$ docker exec -it -e VAR=1 ubuntu_bash bash\n```\n\nThis will create a new Bash session in the container `ubuntu_bash` with environment \nvariable `$VAR` set to \"1\". Note that this environment variable will only be valid \non - the current Bash session.\n\n\n### Try to run `docker exec` on a paused container\n\nIf - the container is paused, then the `docker exec` command will fail with an error:\n\n```bash\n$ - docker pause test\n\ntest\n\n$ docker ps\n\nCONTAINER ID IMAGE COMMAND - \ CREATED STATUS PORTS NAMES\n1ae3b36715d2 - \ ubuntu:latest \"bash\" 17 seconds ago Up 16 seconds - (Paused) test\n\n$ docker exec test ls\n\nFATA[0000] Error - response from daemon: Container test is paused, unpause the container before exec\n\n$ - echo $?\n1\n```" + the current Bash session.\n\nBy default `docker exec` command runs in the same working + directory set when container was created.\n\n```bash\n$ docker exec -it ubuntu_bash + pwd\n/\n```\n\nYou can select working directory for the command to execute into\n\n```bash\n$ + docker exec -it -w /root ubuntu_bash pwd\n/root\n```\n\n\n### Try to run `docker + exec` on a paused container\n\nIf the container is paused, then the `docker exec` + command will fail with an error:\n\n```bash\n$ docker pause test\n\ntest\n\n$ docker + ps\n\nCONTAINER ID IMAGE COMMAND CREATED STATUS + \ PORTS NAMES\n1ae3b36715d2 ubuntu:latest + \ \"bash\" 17 seconds ago Up 16 seconds (Paused) test\n\n$ + docker exec test ls\n\nFATA[0000] Error response from daemon: Container test is + paused, unpause the container before exec\n\n$ echo $?\n1\n```" deprecated: false experimental: false diff --git a/_data/engine-cli-edge/docker_image_build.yaml b/_data/engine-cli-edge/docker_image_build.yaml index 52d2f12335..dd72da1a11 100644 --- a/_data/engine-cli-edge/docker_image_build.yaml +++ b/_data/engine-cli-edge/docker_image_build.yaml @@ -122,6 +122,12 @@ options: description: Do not use cache when building the image deprecated: false experimental: false +- option: platform + value_type: string + description: Set platform if server is multi-platform capable + deprecated: false + min_api_version: "1.32" + experimental: true - option: pull value_type: bool default_value: "false" diff --git a/_data/engine-cli-edge/docker_image_pull.yaml b/_data/engine-cli-edge/docker_image_pull.yaml index f70927af33..00c5daab4a 100644 --- a/_data/engine-cli-edge/docker_image_pull.yaml +++ b/_data/engine-cli-edge/docker_image_pull.yaml @@ -18,6 +18,12 @@ options: description: Skip image verification deprecated: false experimental: false +- option: platform + value_type: string + description: Set platform if server is multi-platform capable + deprecated: false + min_api_version: "1.32" + experimental: true deprecated: false experimental: false diff --git a/_data/engine-cli-edge/docker_logs.yaml b/_data/engine-cli-edge/docker_logs.yaml index dcefcae4af..52adb6c7e0 100644 --- a/_data/engine-cli-edge/docker_logs.yaml +++ b/_data/engine-cli-edge/docker_logs.yaml @@ -72,6 +72,27 @@ options: description: Show timestamps deprecated: false experimental: false +- option: until + value_type: string + description: | + Show logs before a timestamp (e.g. 2013-01-02T13:23:37) or relative (e.g. 42m for 42 minutes) + deprecated: false + min_api_version: "1.35" + experimental: false +examples: |- + ### Retrieve logs until a specific point in time + + In order to retrieve logs before a specific point in time, run: + + ```bash + $ docker run --name test -d busybox sh -c "while true; do $(echo date); sleep 1; done" + $ date + Tue 14 Nov 2017 16:40:00 CET + $ docker logs -f --until=2s + Tue 14 Nov 2017 16:40:00 CET + Tue 14 Nov 2017 16:40:01 CET + Tue 14 Nov 2017 16:40:02 CET + ``` deprecated: false experimental: false diff --git a/_data/engine-cli-edge/docker_network_create.yaml b/_data/engine-cli-edge/docker_network_create.yaml index 241ae215be..352b4dfb68 100644 --- a/_data/engine-cli-edge/docker_network_create.yaml +++ b/_data/engine-cli-edge/docker_network_create.yaml @@ -263,7 +263,7 @@ examples: |- You can create the network which will be used to provide the routing-mesh in the swarm cluster. You do so by specifying `--ingress` when creating the network. Only one ingress network can be created at the time. The network can be removed only - if no services depend on it. Any option available when creating a overlay network + if no services depend on it. Any option available when creating an overlay network is also available when creating the ingress network, besides the `--attachable` option. ```bash diff --git a/_data/engine-cli-edge/docker_pull.yaml b/_data/engine-cli-edge/docker_pull.yaml index 8dccd0467d..446ad630b2 100644 --- a/_data/engine-cli-edge/docker_pull.yaml +++ b/_data/engine-cli-edge/docker_pull.yaml @@ -42,6 +42,12 @@ options: description: Skip image verification deprecated: false experimental: false +- option: platform + value_type: string + description: Set platform if server is multi-platform capable + deprecated: false + min_api_version: "1.32" + experimental: true examples: |- ### Pull an image from Docker Hub diff --git a/_data/engine-cli-edge/docker_run.yaml b/_data/engine-cli-edge/docker_run.yaml index cb8717b800..92c64e1f56 100644 --- a/_data/engine-cli-edge/docker_run.yaml +++ b/_data/engine-cli-edge/docker_run.yaml @@ -440,6 +440,12 @@ options: description: Tune container pids limit (set -1 for unlimited) deprecated: false experimental: false +- option: platform + value_type: string + description: Set platform if server is multi-platform capable + deprecated: false + min_api_version: "1.32" + experimental: true - option: privileged value_type: bool default_value: "false" @@ -657,7 +663,7 @@ examples: |- user cannot pass a size less than the Default BaseFS Size. For the `overlay2` storage driver, the size option is only available if the backing fs is `xfs` and mounted with the `pquota` mount option. - Under these conditions, user can pass any size less then the backing fs size. + Under these conditions, user can pass any size less than the backing fs size. ### Mount tmpfs (--tmpfs) @@ -1005,11 +1011,11 @@ examples: |- policy controls whether the Docker daemon restarts a container after exit. Docker supports the following restart policies: - | Policy | Result | - |:----------|:-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| - | `no` | Do not automatically restart the container when it exits. This is the default. | - | `failure` | Restart only if the container exits with a non-zero exit status. Optionally, limit the number of restart retries the Docker daemon attempts. | - | `always` | Always restart the container regardless of the exit status. When you specify always, the Docker daemon will try to restart the container indefinitely. The container will also always start on daemon startup, regardless of the current state of the container. | + | Policy | Result | + |:---------------------------|:-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| + | `no` | Do not automatically restart the container when it exits. This is the default. | + | `on-failure[:max-retries]` | Restart only if the container exits with a non-zero exit status. Optionally, limit the number of restart retries the Docker daemon attempts. | + | `always` | Always restart the container regardless of the exit status. When you specify always, the Docker daemon will try to restart the container indefinitely. The container will also always start on daemon startup, regardless of the current state of the container. | ```bash $ docker run --restart=always redis diff --git a/_data/engine-cli-edge/docker_service_create.yaml b/_data/engine-cli-edge/docker_service_create.yaml index eb04436a31..161b84cdf7 100644 --- a/_data/engine-cli-edge/docker_service_create.yaml +++ b/_data/engine-cli-edge/docker_service_create.yaml @@ -78,6 +78,11 @@ options: description: Read in a file of environment variables deprecated: false experimental: false +- option: generic-resource + value_type: list + description: User defined resources + deprecated: false + experimental: false - option: group value_type: list description: Set one or more supplementary user groups for the container @@ -128,6 +133,12 @@ options: deprecated: false min_api_version: "1.25" experimental: false +- option: isolation + value_type: string + description: Service container isolation mode + deprecated: false + min_api_version: "1.35" + experimental: false - option: label shorthand: l value_type: list @@ -383,813 +394,354 @@ options: description: Working directory inside the container deprecated: false experimental: false -examples: |- - ### Create a service - - ```bash - $ docker service create --name redis redis:3.0.6 - - dmu1ept4cxcfe8k8lhtux3ro3 - - $ docker service create --mode global --name redis2 redis:3.0.6 - - a8q9dasaafudfs8q8w32udass - - $ docker service ls - - ID NAME MODE REPLICAS IMAGE - dmu1ept4cxcf redis replicated 1/1 redis:3.0.6 - a8q9dasaafud redis2 global 1/1 redis:3.0.6 - ``` - - ### Create a service with 5 replica tasks (--replicas) - - Use the `--replicas` flag to set the number of replica tasks for a replicated - service. The following command creates a `redis` service with `5` replica tasks: - - ```bash - $ docker service create --name redis --replicas=5 redis:3.0.6 - - 4cdgfyky7ozwh3htjfw0d12qv - ``` - - The above command sets the *desired* number of tasks for the service. Even - though the command returns immediately, actual scaling of the service may take - some time. The `REPLICAS` column shows both the *actual* and *desired* number - of replica tasks for the service. - - In the following example the desired state is `5` replicas, but the current - number of `RUNNING` tasks is `3`: - - ```bash - $ docker service ls - - ID NAME MODE REPLICAS IMAGE - 4cdgfyky7ozw redis replicated 3/5 redis:3.0.7 - ``` - - Once all the tasks are created and `RUNNING`, the actual number of tasks is - equal to the desired number: - - ```bash - $ docker service ls - - ID NAME MODE REPLICAS IMAGE - 4cdgfyky7ozw redis replicated 5/5 redis:3.0.7 - ``` - - ### Create a service with secrets - - Use the `--secret` flag to give a container access to a - [secret](secret_create.md). - - Create a service specifying a secret: - - ```bash - $ docker service create --name redis --secret secret.json redis:3.0.6 - - 4cdgfyky7ozwh3htjfw0d12qv - ``` - - Create a service specifying the secret, target, user/group ID, and mode: - - ```bash - $ docker service create --name redis \ - --secret source=ssh-key,target=ssh \ - --secret source=app-key,target=app,uid=1000,gid=1001,mode=0400 \ - redis:3.0.6 - - 4cdgfyky7ozwh3htjfw0d12qv - ``` - - To grant a service access to multiple secrets, use multiple `--secret` flags. - - Secrets are located in `/run/secrets` in the container. If no target is - specified, the name of the secret will be used as the in memory file in the - container. If a target is specified, that will be the filename. In the - example above, two files will be created: `/run/secrets/ssh` and - `/run/secrets/app` for each of the secret targets specified. - - ### Create a service with a rolling update policy - - ```bash - $ docker service create \ - --replicas 10 \ - --name redis \ - --update-delay 10s \ - --update-parallelism 2 \ - redis:3.0.6 - ``` - - When you run a [service update](service_update.md), the scheduler updates a - maximum of 2 tasks at a time, with `10s` between updates. For more information, - refer to the [rolling updates - tutorial](https://docs.docker.com/engine/swarm/swarm-tutorial/rolling-update/). - - ### Set environment variables (-e, --env) - - This sets an environmental variable for all tasks in a service. For example: - - ```bash - $ docker service create \ - --name redis_2 \ - --replicas 5 \ - --env MYVAR=foo \ - redis:3.0.6 - ``` - - To specify multiple environment variables, specify multiple `--env` flags, each - with a separate key-value pair. - - ```bash - $ docker service create \ - --name redis_2 \ - --replicas 5 \ - --env MYVAR=foo \ - --env MYVAR2=bar \ - redis:3.0.6 - ``` - - ### Create a service with specific hostname (--hostname) - - This option sets the docker service containers hostname to a specific string. - For example: - - ```bash - $ docker service create --name redis --hostname myredis redis:3.0.6 - ``` - - ### Set metadata on a service (-l, --label) - - A label is a `key=value` pair that applies metadata to a service. To label a - service with two labels: - - ```bash - $ docker service create \ - --name redis_2 \ - --label com.example.foo="bar" - --label bar=baz \ - redis:3.0.6 - ``` - - For more information about labels, refer to [apply custom - metadata](https://docs.docker.com/engine/userguide/labels-custom-metadata/). - - ### Add bind mounts, volumes or memory filesystems - - Docker supports three different kinds of mounts, which allow containers to read - from or write to files or directories, either on the host operating system, or - on memory filesystems. These types are _data volumes_ (often referred to simply - as volumes), _bind mounts_, and _tmpfs_. - - A **bind mount** makes a file or directory on the host available to the - container it is mounted within. A bind mount may be either read-only or - read-write. For example, a container might share its host's DNS information by - means of a bind mount of the host's `/etc/resolv.conf` or a container might - write logs to its host's `/var/log/myContainerLogs` directory. If you use - bind mounts and your host and containers have different notions of permissions, - access controls, or other such details, you will run into portability issues. - - A **named volume** is a mechanism for decoupling persistent data needed by your - container from the image used to create the container and from the host machine. - Named volumes are created and managed by Docker, and a named volume persists - even when no container is currently using it. Data in named volumes can be - shared between a container and the host machine, as well as between multiple - containers. Docker uses a _volume driver_ to create, manage, and mount volumes. - You can back up or restore volumes using Docker commands. - - A **tmpfs** mounts a tmpfs inside a container for volatile data. - - Consider a situation where your image starts a lightweight web server. You could - use that image as a base image, copy in your website's HTML files, and package - that into another image. Each time your website changed, you'd need to update - the new image and redeploy all of the containers serving your website. A better - solution is to store the website in a named volume which is attached to each of - your web server containers when they start. To update the website, you just - update the named volume. - - For more information about named volumes, see - [Data Volumes](https://docs.docker.com/engine/tutorials/dockervolumes/). - - The following table describes options which apply to both bind mounts and named - volumes in a service: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
OptionRequiredDescription
types -

The type of mount, can be either volume, bind, or tmpfs. Defaults to volume if no type is specified. -

    -
  • volume: mounts a managed volume - into the container.
  • bind: - bind-mounts a directory or file from the host into the container.
  • -
  • tmpfs: mount a tmpfs in the container
  • -

-
src or sourcefor type=bind only> -
    -
  • - type=volume: src is an optional way to specify the name of the volume (for example, src=my-volume). - If the named volume does not exist, it is automatically created. If no src is specified, the volume is - assigned a random name which is guaranteed to be unique on the host, but may not be unique cluster-wide. - A randomly-named volume has the same lifecycle as its container and is destroyed when the container - is destroyed (which is upon service update, or when scaling or re-balancing the service) -
  • -
  • - type=bind: src is required, and specifies an absolute path to the file or directory to bind-mount - (for example, src=/path/on/host/). An error is produced if the file or directory does not exist. -
  • -
  • - type=tmpfs: src is not supported. -
  • -
-

dst or destination or target

yes -

Mount path inside the container, for example /some/path/in/container/. - If the path does not exist in the container's filesystem, the Engine creates - a directory at the specified location before mounting the volume or bind mount.

-

readonly or ro

-

The Engine mounts binds and volumes read-write unless readonly option - is given when mounting the bind or volume. -

    -
  • true or 1 or no value: Mounts the bind or volume read-only.
  • -
  • false or 0: Mounts the bind or volume read-write.
  • -

-
consistency -

The consistency requirements for the mount; one of -

    -
  • default: Equivalent to consistent.
  • -
  • consistent: Full consistency. The container runtime and the host maintain an identical view of the mount at all times.
  • -
  • cached: The host's view of the mount is authoritative. There may be delays before updates made on the host are visible within a container.
  • -
  • delegated: The container runtime's view of the mount is authoritative. There may be delays before updates made in a container are visible on the host.
  • -
-

-
- - #### Bind Propagation - - Bind propagation refers to whether or not mounts created within a given - bind mount or named volume can be propagated to replicas of that mount. Consider - a mount point `/mnt`, which is also mounted on `/tmp`. The propation settings - control whether a mount on `/tmp/a` would also be available on `/mnt/a`. Each - propagation setting has a recursive counterpoint. In the case of recursion, - consider that `/tmp/a` is also mounted as `/foo`. The propagation settings - control whether `/mnt/a` and/or `/tmp/a` would exist. - - The `bind-propagation` option defaults to `rprivate` for both bind mounts and - volume mounts, and is only configurable for bind mounts. In other words, named - volumes do not support bind propagation. - - - **`shared`**: Sub-mounts of the original mount are exposed to replica mounts, - and sub-mounts of replica mounts are also propagated to the - original mount. - - **`slave`**: similar to a shared mount, but only in one direction. If the - original mount exposes a sub-mount, the replica mount can see it. - However, if the replica mount exposes a sub-mount, the original - mount cannot see it. - - **`private`**: The mount is private. Sub-mounts within it are not exposed to - replica mounts, and sub-mounts of replica mounts are not - exposed to the original mount. - - **`rshared`**: The same as shared, but the propagation also extends to and from - mount points nested within any of the original or replica mount - points. - - **`rslave`**: The same as `slave`, but the propagation also extends to and from - mount points nested within any of the original or replica mount - points. - - **`rprivate`**: The default. The same as `private`, meaning that no mount points - anywhere within the original or replica mount points propagate - in either direction. - - For more information about bind propagation, see the - [Linux kernel documentation for shared subtree](https://www.kernel.org/doc/Documentation/filesystems/sharedsubtree.txt). - - #### Options for Named Volumes - - The following options can only be used for named volumes (`type=volume`): - - - - - - - - - - - - - - - - - - - - - - - -
OptionDescription
volume-driver -

Name of the volume-driver plugin to use for the volume. Defaults to - "local", to use the local volume driver to create the volume if the - volume does not exist.

-
volume-label - One or more custom metadata ("labels") to apply to the volume upon - creation. For example, - volume-label=mylabel=hello-world,my-other-label=hello-mars. For more - information about labels, refer to - apply custom metadata. -
volume-nocopy - By default, if you attach an empty volume to a container, and files or - directories already existed at the mount-path in the container (dst), - the Engine copies those files and directories into the volume, allowing - the host to access them. Set volume-nocopy to disable copying files - from the container's filesystem to the volume and mount the empty volume.
- - A value is optional: - -
    -
  • true or 1: Default if you do not provide a value. Disables copying.
  • -
  • false or 0: Enables copying.
  • -
-
volume-opt - Options specific to a given volume driver, which will be passed to the - driver when creating the volume. Options are provided as a comma-separated - list of key/value pairs, for example, - volume-opt=some-option=some-value,volume-opt=some-other-option=some-other-value. - For available options for a given driver, refer to that driver's - documentation. -
- - - #### Options for tmpfs - - The following options can only be used for tmpfs mounts (`type=tmpfs`); - - - - - - - - - - - - - - - -
OptionDescription
tmpfs-sizeSize of the tmpfs mount in bytes. Unlimited by default in Linux.
tmpfs-modeFile mode of the tmpfs in octal. (e.g. "700" or "0700".) Defaults to "1777" in Linux.
- - - #### Differences between "--mount" and "--volume" - - The `--mount` flag supports most options that are supported by the `-v` - or `--volume` flag for `docker run`, with some important exceptions: - - - The `--mount` flag allows you to specify a volume driver and volume driver - options *per volume*, without creating the volumes in advance. In contrast, - `docker run` allows you to specify a single volume driver which is shared - by all volumes, using the `--volume-driver` flag. - - - The `--mount` flag allows you to specify custom metadata ("labels") for a volume, - before the volume is created. - - - When you use `--mount` with `type=bind`, the host-path must refer to an *existing* - path on the host. The path will not be created for you and the service will fail - with an error if the path does not exist. - - - The `--mount` flag does not allow you to relabel a volume with `Z` or `z` flags, - which are used for `selinux` labeling. - - #### Create a service using a named volume - - The following example creates a service that uses a named volume: - - ```bash - $ docker service create \ - --name my-service \ - --replicas 3 \ - --mount type=volume,source=my-volume,destination=/path/in/container,volume-label="color=red",volume-label="shape=round" \ - nginx:alpine - ``` - - For each replica of the service, the engine requests a volume named "my-volume" - from the default ("local") volume driver where the task is deployed. If the - volume does not exist, the engine creates a new volume and applies the "color" - and "shape" labels. - - When the task is started, the volume is mounted on `/path/in/container/` inside - the container. - - Be aware that the default ("local") volume is a locally scoped volume driver. - This means that depending on where a task is deployed, either that task gets a - *new* volume named "my-volume", or shares the same "my-volume" with other tasks - of the same service. Multiple containers writing to a single shared volume can - cause data corruption if the software running inside the container is not - designed to handle concurrent processes writing to the same location. Also take - into account that containers can be re-scheduled by the Swarm orchestrator and - be deployed on a different node. - - #### Create a service that uses an anonymous volume - - The following command creates a service with three replicas with an anonymous - volume on `/path/in/container`: - - ```bash - $ docker service create \ - --name my-service \ - --replicas 3 \ - --mount type=volume,destination=/path/in/container \ - nginx:alpine - ``` - - In this example, no name (`source`) is specified for the volume, so a new volume - is created for each task. This guarantees that each task gets its own volume, - and volumes are not shared between tasks. Anonymous volumes are removed after - the task using them is complete. - - #### Create a service that uses a bind-mounted host directory - - The following example bind-mounts a host directory at `/path/in/container` in - the containers backing the service: - - ```bash - $ docker service create \ - --name my-service \ - --mount type=bind,source=/path/on/host,destination=/path/in/container \ - nginx:alpine - ``` - - ### Set service mode (--mode) - - The service mode determines whether this is a _replicated_ service or a _global_ - service. A replicated service runs as many tasks as specified, while a global - service runs on each active node in the swarm. - - The following command creates a global service: - - ```bash - $ docker service create \ - --name redis_2 \ - --mode global \ - redis:3.0.6 - ``` - - ### Specify service constraints (--constraint) - - You can limit the set of nodes where a task can be scheduled by defining - constraint expressions. Multiple constraints find nodes that satisfy every - expression (AND match). Constraints can match node or Docker Engine labels as - follows: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
node attributematchesexample
node.idNode IDnode.id==2ivku8v2gvtg4
node.hostnameNode hostnamenode.hostname!=node-2
node.roleNode rolenode.role==manager
node.labelsuser defined node labelsnode.labels.security==high
engine.labelsDocker Engine's labelsengine.labels.operatingsystem==ubuntu 14.04
- - - `engine.labels` apply to Docker Engine labels like operating system, - drivers, etc. Swarm administrators add `node.labels` for operational purposes by - using the [`docker node update`](node_update.md) command. - - For example, the following limits tasks for the redis service to nodes where the - node type label equals queue: - - ```bash - $ docker service create \ - --name redis_2 \ - --constraint 'node.labels.type == queue' \ - redis:3.0.6 - ``` - - ### Specify service placement preferences (--placement-pref) - - You can set up the service to divide tasks evenly over different categories of - nodes. One example of where this can be useful is to balance tasks over a set - of datacenters or availability zones. The example below illustrates this: - - ```bash - $ docker service create \ - --replicas 9 \ - --name redis_2 \ - --placement-pref 'spread=node.labels.datacenter' \ - redis:3.0.6 - ``` - - This uses `--placement-pref` with a `spread` strategy (currently the only - supported strategy) to spread tasks evenly over the values of the `datacenter` - node label. In this example, we assume that every node has a `datacenter` node - label attached to it. If there are three different values of this label among - nodes in the swarm, one third of the tasks will be placed on the nodes - associated with each value. This is true even if there are more nodes with one - value than another. For example, consider the following set of nodes: - - - Three nodes with `node.labels.datacenter=east` - - Two nodes with `node.labels.datacenter=south` - - One node with `node.labels.datacenter=west` - - Since we are spreading over the values of the `datacenter` label and the - service has 9 replicas, 3 replicas will end up in each datacenter. There are - three nodes associated with the value `east`, so each one will get one of the - three replicas reserved for this value. There are two nodes with the value - `south`, and the three replicas for this value will be divided between them, - with one receiving two replicas and another receiving just one. Finally, `west` - has a single node that will get all three replicas reserved for `west`. - - If the nodes in one category (for example, those with - `node.labels.datacenter=south`) can't handle their fair share of tasks due to - constraints or resource limitations, the extra tasks will be assigned to other - nodes instead, if possible. - - Both engine labels and node labels are supported by placement preferences. The - example above uses a node label, because the label is referenced with - `node.labels.datacenter`. To spread over the values of an engine label, use - `--placement-pref spread=engine.labels.`. - - It is possible to add multiple placement preferences to a service. This - establishes a hierarchy of preferences, so that tasks are first divided over - one category, and then further divided over additional categories. One example - of where this may be useful is dividing tasks fairly between datacenters, and - then splitting the tasks within each datacenter over a choice of racks. To add - multiple placement preferences, specify the `--placement-pref` flag multiple - times. The order is significant, and the placement preferences will be applied - in the order given when making scheduling decisions. - - The following example sets up a service with multiple placement preferences. - Tasks are spread first over the various datacenters, and then over racks - (as indicated by the respective labels): - - ```bash - $ docker service create \ - --replicas 9 \ - --name redis_2 \ - --placement-pref 'spread=node.labels.datacenter' \ - --placement-pref 'spread=node.labels.rack' \ - redis:3.0.6 - ``` - - When updating a service with `docker service update`, `--placement-pref-add` - appends a new placement preference after all existing placement preferences. - `--placement-pref-rm` removes an existing placement preference that matches the - argument. - - ### Attach a service to an existing network (--network) - - You can use overlay networks to connect one or more services within the swarm. - - First, create an overlay network on a manager node the docker network create - command: - - ```bash - $ docker network create --driver overlay my-network - - etjpu59cykrptrgw0z0hk5snf - ``` - - After you create an overlay network in swarm mode, all manager nodes have - access to the network. - - When you create a service and pass the --network flag to attach the service to - the overlay network: - - ```bash - $ docker service create \ - --replicas 3 \ - --network my-network \ - --name my-web \ - nginx - - 716thylsndqma81j6kkkb5aus - ``` - - The swarm extends my-network to each node running the service. - - Containers on the same network can access each other using - [service discovery](https://docs.docker.com/engine/swarm/networking/#use-swarm-mode-service-discovery). - - ### Publish service ports externally to the swarm (-p, --publish) - - You can publish service ports to make them available externally to the swarm - using the `--publish` flag. The `--publish` flag can take two different styles - of arguments. The short version is positional, and allows you to specify the - target port and container port separated by a colon. - - ```bash - $ docker service create --name my_web --replicas 3 --publish 8080:80 nginx - ``` - - There is also a long format, which is easier to read and allows you to specify - more options. The long format is preferred. You cannot specify the service's - mode when using the short format. Here is an example of using the long format - for the same service as above: - - ```bash - $ docker service create --name my_web --replicas 3 --publish published=8080,target=80 nginx - ``` - - The options you can specify are: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
OptionShort syntaxLong syntaxDescription
target and container port
protocol--publish 8080:80--publish published=8080,target=80

- The container port to publish and the target port to bind it to on the - routing mesh or directly on the node. -

modeNot possible to set using short syntax.--publish published=8080,target=80,mode=host

- The mode to use for binding the port, either `ingress` or `host`. Defaults - to `ingress` to use the routing mesh. -

protocol--publish 8080:80/tcp--publish published=8080,target=80,protocol=tcp

- The protocol to use, either `tcp` or `udp`. Defaults to `tcp`. To bind a - port for both protocols, specify the `-p` or `--publish` flag twice. -

- - When you publish a service port using `ingres` mode, the swarm routing mesh - makes the service accessible at the target port on every node regardless if - there is a task for the service running on the node. If you use `host` mode, - the port is only bound on nodes where the service is running, and a given port - on a node can only be bound once. You can only set the publication mode using - the long syntax. For more information refer to - [Use swarm mode routing mesh](https://docs.docker.com/engine/swarm/ingress/). - - ### Provide credential specs for managed service accounts (Windows only) - - This option is only used for services using Windows containers. The - `--credential-spec` must be in the format `file://` or - `registry://`. - - When using the `file://` format, the referenced file must be - present in the `CredentialSpecs` subdirectory in the docker data directory, - which defaults to `C:\ProgramData\Docker\` on Windows. For example, - specifying `file://spec.json` loads `C:\ProgramData\Docker\CredentialSpecs\spec.json`. - - When using the `registry://` format, the credential spec is - read from the Windows registry on the daemon's host. The specified - registry value must be located in: - - HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Virtualization\Containers\CredentialSpecs - - - ### Create services using templates - - You can use templates for some flags of `service create`, using the syntax - provided by the Go's [text/template](http://golang.org/pkg/text/template/) package. - - The supported flags are the following : - - - `--hostname` - - `--mount` - - `--env` - - Valid placeholders for the Go template are listed below: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
PlaceholderDescription
.Service.IDService ID
.Service.NameService name
.Service.LabelsService labels
.Node.IDNode ID
.Node.HostnameNode Hostname
.Task.IDTask ID
.Task.NameTask name
.Task.SlotTask slot
- - - #### Template example - - In this example, we are going to set the template of the created containers based on the - service's name, the node's ID and hostname where it sits. - - ```bash - $ docker service create --name hosttempl \ - --hostname="{{.Node.Hostname}}-{{.Node.ID}}-{{.Service.Name}}"\ - busybox top - - va8ew30grofhjoychbr6iot8c - - $ docker service ps va8ew30grofhjoychbr6iot8c - - ID NAME IMAGE NODE DESIRED STATE CURRENT STATE ERROR PORTS - wo41w8hg8qan hosttempl.1 busybox:latest@sha256:29f5d56d12684887bdfa50dcd29fc31eea4aaf4ad3bec43daf19026a7ce69912 2e7a8a9c4da2 Running Running about a minute ago - - $ docker inspect --format="{{.Config.Hostname}}" 2e7a8a9c4da2-wo41w8hg8qanxwjwsg4kxpprj-hosttempl - - x3ti0erg11rjpg64m75kej2mz-hosttempl - ``` +examples: "### Create a service\n\n```bash\n$ docker service create --name redis redis:3.0.6\n\ndmu1ept4cxcfe8k8lhtux3ro3\n\n$ + docker service create --mode global --name redis2 redis:3.0.6\n\na8q9dasaafudfs8q8w32udass\n\n$ + docker service ls\n\nID NAME MODE REPLICAS IMAGE\ndmu1ept4cxcf + \ redis replicated 1/1 redis:3.0.6\na8q9dasaafud redis2 global 1/1 + \ redis:3.0.6\n```\n\n### Create a service with 5 replica tasks (--replicas)\n\nUse + the `--replicas` flag to set the number of replica tasks for a replicated\nservice. + The following command creates a `redis` service with `5` replica tasks:\n\n```bash\n$ + docker service create --name redis --replicas=5 redis:3.0.6\n\n4cdgfyky7ozwh3htjfw0d12qv\n```\n\nThe + above command sets the *desired* number of tasks for the service. Even\nthough the + command returns immediately, actual scaling of the service may take\nsome time. + The `REPLICAS` column shows both the *actual* and *desired* number\nof replica tasks + for the service.\n\nIn the following example the desired state is `5` replicas, + but the current\nnumber of `RUNNING` tasks is `3`:\n\n```bash\n$ docker service + ls\n\nID NAME MODE REPLICAS IMAGE\n4cdgfyky7ozw redis replicated + \ 3/5 redis:3.0.7\n```\n\nOnce all the tasks are created and `RUNNING`, the + actual number of tasks is\nequal to the desired number:\n\n```bash\n$ docker service + ls\n\nID NAME MODE REPLICAS IMAGE\n4cdgfyky7ozw redis replicated + \ 5/5 redis:3.0.7\n```\n\n### Create a service with secrets\n\nUse the `--secret` + flag to give a container access to a\n[secret](secret_create.md).\n\nCreate a service + specifying a secret:\n\n```bash\n$ docker service create --name redis --secret secret.json + redis:3.0.6\n\n4cdgfyky7ozwh3htjfw0d12qv\n```\n\nCreate a service specifying the + secret, target, user/group ID, and mode:\n\n```bash\n$ docker service create --name + redis \\\n --secret source=ssh-key,target=ssh \\\n --secret source=app-key,target=app,uid=1000,gid=1001,mode=0400 + \\\n redis:3.0.6\n\n4cdgfyky7ozwh3htjfw0d12qv\n```\n\nTo grant a service access + to multiple secrets, use multiple `--secret` flags.\n\nSecrets are located in `/run/secrets` + in the container. If no target is\nspecified, the name of the secret will be used + as the in memory file in the\ncontainer. If a target is specified, that will be + the filename. In the\nexample above, two files will be created: `/run/secrets/ssh` + and\n`/run/secrets/app` for each of the secret targets specified.\n\n### Create + a service with a rolling update policy\n\n```bash\n$ docker service create \\\n + \ --replicas 10 \\\n --name redis \\\n --update-delay 10s \\\n --update-parallelism + 2 \\\n redis:3.0.6\n```\n\nWhen you run a [service update](service_update.md), + the scheduler updates a\nmaximum of 2 tasks at a time, with `10s` between updates. + For more information,\nrefer to the [rolling updates\ntutorial](https://docs.docker.com/engine/swarm/swarm-tutorial/rolling-update/).\n\n### + Set environment variables (-e, --env)\n\nThis sets an environmental variable for + all tasks in a service. For example:\n\n```bash\n$ docker service create \\\n --name + redis_2 \\\n --replicas 5 \\\n --env MYVAR=foo \\\n redis:3.0.6\n```\n\nTo specify + multiple environment variables, specify multiple `--env` flags, each\nwith a separate + key-value pair.\n\n```bash\n$ docker service create \\\n --name redis_2 \\\n --replicas + 5 \\\n --env MYVAR=foo \\\n --env MYVAR2=bar \\\n redis:3.0.6\n```\n\n### Create + a service with specific hostname (--hostname)\n\nThis option sets the docker service + containers hostname to a specific string.\nFor example:\n\n```bash\n$ docker service + create --name redis --hostname myredis redis:3.0.6\n```\n\n### Set metadata on a + service (-l, --label)\n\nA label is a `key=value` pair that applies metadata to + a service. To label a\nservice with two labels:\n\n```bash\n$ docker service create + \\\n --name redis_2 \\\n --label com.example.foo=\"bar\"\n --label bar=baz \\\n + \ redis:3.0.6\n```\n\nFor more information about labels, refer to [apply custom\nmetadata](https://docs.docker.com/engine/userguide/labels-custom-metadata/).\n\n### + Add bind mounts, volumes or memory filesystems\n\nDocker supports three different + kinds of mounts, which allow containers to read\nfrom or write to files or directories, + either on the host operating system, or\non memory filesystems. These types are + _data volumes_ (often referred to simply\nas volumes), _bind mounts_, and _tmpfs_.\n\nA + **bind mount** makes a file or directory on the host available to the\ncontainer + it is mounted within. A bind mount may be either read-only or\nread-write. For example, + a container might share its host's DNS information by\nmeans of a bind mount of + the host's `/etc/resolv.conf` or a container might\nwrite logs to its host's `/var/log/myContainerLogs` + directory. If you use\nbind mounts and your host and containers have different notions + of permissions,\naccess controls, or other such details, you will run into portability + issues.\n\nA **named volume** is a mechanism for decoupling persistent data needed + by your\ncontainer from the image used to create the container and from the host + machine.\nNamed volumes are created and managed by Docker, and a named volume persists\neven + when no container is currently using it. Data in named volumes can be\nshared between + a container and the host machine, as well as between multiple\ncontainers. Docker + uses a _volume driver_ to create, manage, and mount volumes.\nYou can back up or + restore volumes using Docker commands.\n\nA **tmpfs** mounts a tmpfs inside a container + for volatile data.\n\nConsider a situation where your image starts a lightweight + web server. You could\nuse that image as a base image, copy in your website's HTML + files, and package\nthat into another image. Each time your website changed, you'd + need to update\nthe new image and redeploy all of the containers serving your website. + A better\nsolution is to store the website in a named volume which is attached to + each of\nyour web server containers when they start. To update the website, you + just\nupdate the named volume.\n\nFor more information about named volumes, see\n[Data + Volumes](https://docs.docker.com/engine/tutorials/dockervolumes/).\n\nThe following + table describes options which apply to both bind mounts and named\nvolumes in a + service:\n\n\n \n \n \n \n + \ \n \n \n \n \n \n \n + \ \n \n + \ \n \n \n \n + \ \n \n \n \n \n \n \n + \ \n \n \n \n \n + \ \n
OptionRequiredDescription
types\n

The + type of mount, can be either volume, bind, or tmpfs. + Defaults to volume if no type is specified.\n

    \n
  • volume: + mounts a managed + volume\n into the container.
  • bind:\n bind-mounts + a directory or file from the host into the container.
  • \n
  • tmpfs: + mount a tmpfs in the container
  • \n

\n
src or sourcefor type=bind only>\n
    \n
  • \n type=volume: src + is an optional way to specify the name of the volume (for example, src=my-volume).\n + \ If the named volume does not exist, it is automatically created. If no + src is specified, the volume is\n assigned a random name which + is guaranteed to be unique on the host, but may not be unique cluster-wide.\n A + randomly-named volume has the same lifecycle as its container and is destroyed when + the container\n is destroyed (which is upon service update, + or when scaling or re-balancing the service)\n
  • \n
  • \n type=bind: + src is required, and specifies an absolute path to the file or directory + to bind-mount\n (for example, src=/path/on/host/). An error is + produced if the file or directory does not exist.\n
  • \n
  • \n + \ type=tmpfs: src is not supported.\n
  • \n
\n + \

dst or destination or target

yes\n

Mount path inside the container, for example + /some/path/in/container/.\n If the path does not exist in the container's + filesystem, the Engine creates\n a directory at the specified location before + mounting the volume or bind mount.

\n

readonly + or ro

\n

The Engine mounts binds + and volumes read-write unless readonly option\n is given + when mounting the bind or volume.\n

    \n
  • true or 1 + or no value: Mounts the bind or volume read-only.
  • \n
  • false + or 0: Mounts the bind or volume read-write.
  • \n

\n
consistency\n

The + consistency requirements for the mount; one of\n

    \n
  • default: + Equivalent to consistent.
  • \n
  • consistent: Full + consistency. The container runtime and the host maintain an identical view of the + mount at all times.
  • \n
  • cached: The host's view of the + mount is authoritative. There may be delays before updates made on the host are + visible within a container.
  • \n
  • delegated: The container + runtime's view of the mount is authoritative. There may be delays before updates + made in a container are visible on the host.
  • \n
\n

\n
\n\n#### Bind Propagation\n\nBind propagation refers to whether + or not mounts created within a given\nbind mount or named volume can be propagated + to replicas of that mount. Consider\na mount point `/mnt`, which is also mounted + on `/tmp`. The propation settings\ncontrol whether a mount on `/tmp/a` would also + be available on `/mnt/a`. Each\npropagation setting has a recursive counterpoint. + In the case of recursion,\nconsider that `/tmp/a` is also mounted as `/foo`. The + propagation settings\ncontrol whether `/mnt/a` and/or `/tmp/a` would exist.\n\nThe + `bind-propagation` option defaults to `rprivate` for both bind mounts and\nvolume + mounts, and is only configurable for bind mounts. In other words, named\nvolumes + do not support bind propagation.\n\n- **`shared`**: Sub-mounts of the original mount + are exposed to replica mounts,\n and sub-mounts of replica mounts + are also propagated to the\n original mount.\n- **`slave`**: similar + to a shared mount, but only in one direction. If the\n original mount + exposes a sub-mount, the replica mount can see it.\n However, if the + replica mount exposes a sub-mount, the original\n mount cannot see + it.\n- **`private`**: The mount is private. Sub-mounts within it are not exposed + to\n replica mounts, and sub-mounts of replica mounts are not\n + \ exposed to the original mount.\n- **`rshared`**: The same as shared, + but the propagation also extends to and from\n mount points nested + within any of the original or replica mount\n points.\n- **`rslave`**: + The same as `slave`, but the propagation also extends to and from\n mount + points nested within any of the original or replica mount\n points.\n- + **`rprivate`**: The default. The same as `private`, meaning that no mount points\n + \ anywhere within the original or replica mount points propagate\n + \ in either direction.\n\nFor more information about bind propagation, + see the\n[Linux kernel documentation for shared subtree](https://www.kernel.org/doc/Documentation/filesystems/sharedsubtree.txt).\n\n#### + Options for Named Volumes\n\nThe following options can only be used for named volumes + (`type=volume`):\n\n\n\n \n \n \n + \ \n \n \n \n \n \n \n \n \n \n \n + \ \n \n \n + \ \n \n \n
OptionDescription
volume-driver\n

Name of the + volume-driver plugin to use for the volume. Defaults to\n \"local\", + to use the local volume driver to create the volume if the\n volume does not + exist.

\n
volume-label\n + \ One or more custom metadata (\"labels\") to apply to the volume upon\n creation. + For example,\n volume-label=mylabel=hello-world,my-other-label=hello-mars. + For more\n information about labels, refer to\n apply + custom metadata.\n
volume-nocopy\n By default, if you attach an empty volume to a container, and files + or\n directories already existed at the mount-path in the container (dst),\n + \ the Engine copies those files and directories into the volume, allowing\n + \ the host to access them. Set volume-nocopy to disable copying files\n + \ from the container's filesystem to the volume and mount the empty volume.
\n\n A value is optional:\n\n
    \n
  • true or 1: + Default if you do not provide a value. Disables copying.
  • \n
  • false + or 0: Enables copying.
  • \n
\n
volume-opt\n Options specific to a given volume + driver, which will be passed to the\n driver when creating the volume. Options + are provided as a comma-separated\n list of key/value pairs, for example,\n + \ volume-opt=some-option=some-value,volume-opt=some-other-option=some-other-value.\n + \ For available options for a given driver, refer to that driver's\n documentation.\n + \
\n\n\n#### Options for tmpfs\n\nThe following options + can only be used for tmpfs mounts (`type=tmpfs`);\n\n\n\n \n \n + \ \n \n \n \n \n \n \n + \ \n \n \n
OptionDescription
tmpfs-sizeSize + of the tmpfs mount in bytes. Unlimited by default in Linux.
tmpfs-modeFile mode of the tmpfs in octal. (e.g. \"700\" + or \"0700\".) Defaults to \"1777\" in Linux.
\n\n\n#### + Differences between \"--mount\" and \"--volume\"\n\nThe `--mount` flag supports + most options that are supported by the `-v`\nor `--volume` flag for `docker run`, + with some important exceptions:\n\n- The `--mount` flag allows you to specify a + volume driver and volume driver\n options *per volume*, without creating the volumes + in advance. In contrast,\n `docker run` allows you to specify a single volume driver + which is shared\n by all volumes, using the `--volume-driver` flag.\n\n- The `--mount` + flag allows you to specify custom metadata (\"labels\") for a volume,\n before + the volume is created.\n\n- When you use `--mount` with `type=bind`, the host-path + must refer to an *existing*\n path on the host. The path will not be created for + you and the service will fail\n with an error if the path does not exist.\n\n- + The `--mount` flag does not allow you to relabel a volume with `Z` or `z` flags,\n + \ which are used for `selinux` labeling.\n\n#### Create a service using a named + volume\n\nThe following example creates a service that uses a named volume:\n\n```bash\n$ + docker service create \\\n --name my-service \\\n --replicas 3 \\\n --mount type=volume,source=my-volume,destination=/path/in/container,volume-label=\"color=red\",volume-label=\"shape=round\" + \\\n nginx:alpine\n```\n\nFor each replica of the service, the engine requests + a volume named \"my-volume\"\nfrom the default (\"local\") volume driver where the + task is deployed. If the\nvolume does not exist, the engine creates a new volume + and applies the \"color\"\nand \"shape\" labels.\n\nWhen the task is started, the + volume is mounted on `/path/in/container/` inside\nthe container.\n\nBe aware that + the default (\"local\") volume is a locally scoped volume driver.\nThis means that + depending on where a task is deployed, either that task gets a\n*new* volume named + \"my-volume\", or shares the same \"my-volume\" with other tasks\nof the same service. + Multiple containers writing to a single shared volume can\ncause data corruption + if the software running inside the container is not\ndesigned to handle concurrent + processes writing to the same location. Also take\ninto account that containers + can be re-scheduled by the Swarm orchestrator and\nbe deployed on a different node.\n\n#### + Create a service that uses an anonymous volume\n\nThe following command creates + a service with three replicas with an anonymous\nvolume on `/path/in/container`:\n\n```bash\n$ + docker service create \\\n --name my-service \\\n --replicas 3 \\\n --mount type=volume,destination=/path/in/container + \\\n nginx:alpine\n```\n\nIn this example, no name (`source`) is specified for + the volume, so a new volume\nis created for each task. This guarantees that each + task gets its own volume,\nand volumes are not shared between tasks. Anonymous volumes + are removed after\nthe task using them is complete.\n\n#### Create a service that + uses a bind-mounted host directory\n\nThe following example bind-mounts a host directory + at `/path/in/container` in\nthe containers backing the service:\n\n```bash\n$ docker + service create \\\n --name my-service \\\n --mount type=bind,source=/path/on/host,destination=/path/in/container + \\\n nginx:alpine\n```\n\n### Set service mode (--mode)\n\nThe service mode determines + whether this is a _replicated_ service or a _global_\nservice. A replicated service + runs as many tasks as specified, while a global\nservice runs on each active node + in the swarm.\n\nThe following command creates a global service:\n\n```bash\n$ docker + service create \\\n --name redis_2 \\\n --mode global \\\n redis:3.0.6\n```\n\n### + Specify service constraints (--constraint)\n\nYou can limit the set of nodes where + a task can be scheduled by defining\nconstraint expressions. Multiple constraints + find nodes that satisfy every\nexpression (AND match). Constraints can match node + or Docker Engine labels as\nfollows:\n\n\n\n \n \n + \ \n \n \n \n \n + \ \n \n \n \n + \ \n \n \n + \ \n \n \n \n \n + \ \n \n \n \n + \ \n \n \n \n + \ \n \n \n
node attributematchesexample
node.idNode IDnode.id==2ivku8v2gvtg4
node.hostnameNode hostnamenode.hostname!=node-2
node.roleNode rolenode.role==manager
node.labelsuser defined node labelsnode.labels.security==high
engine.labelsDocker Engine's labelsengine.labels.operatingsystem==ubuntu + 14.04
\n\n\n`engine.labels` apply to Docker Engine labels + like operating system,\ndrivers, etc. Swarm administrators add `node.labels` for + operational purposes by\nusing the [`docker node update`](node_update.md) command.\n\nFor + example, the following limits tasks for the redis service to nodes where the\nnode + type label equals queue:\n\n```bash\n$ docker service create \\\n --name redis_2 + \\\n --constraint 'node.labels.type == queue' \\\n redis:3.0.6\n```\n\n### Specify + service placement preferences (--placement-pref)\n\nYou can set up the service to + divide tasks evenly over different categories of\nnodes. One example of where this + can be useful is to balance tasks over a set\nof datacenters or availability zones. + The example below illustrates this:\n\n```bash\n$ docker service create \\\n --replicas + 9 \\\n --name redis_2 \\\n --placement-pref 'spread=node.labels.datacenter' \\\n + \ redis:3.0.6\n```\n\nThis uses `--placement-pref` with a `spread` strategy (currently + the only\nsupported strategy) to spread tasks evenly over the values of the `datacenter`\nnode + label. In this example, we assume that every node has a `datacenter` node\nlabel + attached to it. If there are three different values of this label among\nnodes in + the swarm, one third of the tasks will be placed on the nodes\nassociated with each + value. This is true even if there are more nodes with one\nvalue than another. For + example, consider the following set of nodes:\n\n- Three nodes with `node.labels.datacenter=east`\n- + Two nodes with `node.labels.datacenter=south`\n- One node with `node.labels.datacenter=west`\n\nSince + we are spreading over the values of the `datacenter` label and the\nservice has + 9 replicas, 3 replicas will end up in each datacenter. There are\nthree nodes associated + with the value `east`, so each one will get one of the\nthree replicas reserved + for this value. There are two nodes with the value\n`south`, and the three replicas + for this value will be divided between them,\nwith one receiving two replicas and + another receiving just one. Finally, `west`\nhas a single node that will get all + three replicas reserved for `west`.\n\nIf the nodes in one category (for example, + those with\n`node.labels.datacenter=south`) can't handle their fair share of tasks + due to\nconstraints or resource limitations, the extra tasks will be assigned to + other\nnodes instead, if possible.\n\nBoth engine labels and node labels are supported + by placement preferences. The\nexample above uses a node label, because the label + is referenced with\n`node.labels.datacenter`. To spread over the values of an engine + label, use\n`--placement-pref spread=engine.labels.`.\n\nIt is possible + to add multiple placement preferences to a service. This\nestablishes a hierarchy + of preferences, so that tasks are first divided over\none category, and then further + divided over additional categories. One example\nof where this may be useful is + dividing tasks fairly between datacenters, and\nthen splitting the tasks within + each datacenter over a choice of racks. To add\nmultiple placement preferences, + specify the `--placement-pref` flag multiple\ntimes. The order is significant, and + the placement preferences will be applied\nin the order given when making scheduling + decisions.\n\nThe following example sets up a service with multiple placement preferences.\nTasks + are spread first over the various datacenters, and then over racks\n(as indicated + by the respective labels):\n\n```bash\n$ docker service create \\\n --replicas + 9 \\\n --name redis_2 \\\n --placement-pref 'spread=node.labels.datacenter' \\\n + \ --placement-pref 'spread=node.labels.rack' \\\n redis:3.0.6\n```\n\nWhen updating + a service with `docker service update`, `--placement-pref-add`\nappends a new placement + preference after all existing placement preferences.\n`--placement-pref-rm` removes + an existing placement preference that matches the\nargument.\n\n### Attach a service + to an existing network (--network)\n\nYou can use overlay networks to connect one + or more services within the swarm.\n\nFirst, create an overlay network on a manager + node the docker network create\ncommand:\n\n```bash\n$ docker network create --driver + overlay my-network\n\netjpu59cykrptrgw0z0hk5snf\n```\n\nAfter you create an overlay + network in swarm mode, all manager nodes have\naccess to the network.\n\nWhen you + create a service and pass the --network flag to attach the service to\nthe overlay + network:\n\n```bash\n$ docker service create \\\n --replicas 3 \\\n --network + my-network \\\n --name my-web \\\n nginx\n\n716thylsndqma81j6kkkb5aus\n```\n\nThe + swarm extends my-network to each node running the service.\n\nContainers on the + same network can access each other using\n[service discovery](https://docs.docker.com/engine/swarm/networking/#use-swarm-mode-service-discovery).\n\n### + Publish service ports externally to the swarm (-p, --publish)\n\nYou can publish + service ports to make them available externally to the swarm\nusing the `--publish` + flag. The `--publish` flag can take two different styles\nof arguments. The short + version is positional, and allows you to specify the\npublished port and target + port separated by a colon.\n\n```bash\n$ docker service create --name my_web --replicas + 3 --publish 8080:80 nginx\n```\n\nThere is also a long format, which is easier to + read and allows you to specify\nmore options. The long format is preferred. You + cannot specify the service's\nmode when using the short format. Here is an example + of using the long format\nfor the same service as above:\n\n```bash\n$ docker service + create --name my_web --replicas 3 --publish published=8080,target=80 nginx\n```\n\nThe + options you can specify are:\n\n\n\n\n \n \n \n \n\n\n \n \n \n \n\n\n + \ \n \n \n \n\n\n \n \n \n + \ \n\n\n + \ \n \n \n \n\n
OptionShort + syntaxLong syntaxDescription
published + and target port
protocol--publish 8080:80--publish + published=8080,target=80

\n The port to publish the service + to on the routing mesh or directly on\n the node, and the target port on the + container.\n

modeNot possible to set + using short syntax.--publish published=8080,target=80,mode=host

\n The mode to use for binding the port, either `ingress` or `host`. + Defaults\n to `ingress` to use the routing mesh.\n

protocol--publish 8080:80/tcp--publish + published=8080,target=80,protocol=tcp

\n The protocol to + use, either `tcp` or `udp`. Defaults to `tcp`. To bind a\n port for both protocols, + specify the `-p` or `--publish` flag twice.\n

\n\nWhen + you publish a service port using `ingres` mode, the swarm routing mesh\nmakes the + service accessible at the published port on every node regardless if\nthere is a + task for the service running on the node. If you use `host` mode,\nthe port is only + bound on nodes where the service is running, and a given port\non a node can only + be bound once. You can only set the publication mode using\nthe long syntax. For + more information refer to\n[Use swarm mode routing mesh](https://docs.docker.com/engine/swarm/ingress/).\n\n### + Provide credential specs for managed service accounts (Windows only)\n\nThis option + is only used for services using Windows containers. The\n`--credential-spec` must + be in the format `file://` or\n`registry://`.\n\nWhen using + the `file://` format, the referenced file must be\npresent in the `CredentialSpecs` + subdirectory in the docker data directory,\nwhich defaults to `C:\\ProgramData\\Docker\\` + on Windows. For example,\nspecifying `file://spec.json` loads `C:\\ProgramData\\Docker\\CredentialSpecs\\spec.json`.\n\nWhen + using the `registry://` format, the credential spec is\nread from the + Windows registry on the daemon's host. The specified\nregistry value must be located + in:\n\n HKLM\\SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\Virtualization\\Containers\\CredentialSpecs\n\n\n### + Create services using templates\n\nYou can use templates for some flags of `service + create`, using the syntax\nprovided by the Go's [text/template](http://golang.org/pkg/text/template/) + package.\n\nThe supported flags are the following :\n\n- `--hostname`\n- `--mount`\n- + `--env`\n\nValid placeholders for the Go template are listed below:\n\n\n\n + \ \n \n \n \n \n \n + \ \n \n \n \n + \ \n \n \n \n + \ \n \n \n \n \n \n \n \n \n + \ \n \n \n \n \n + \ \n \n \n \n \n + \ \n \n \n
PlaceholderDescription
.Service.IDService ID
.Service.NameService name
.Service.LabelsService labels
.Node.IDNode + ID
.Node.HostnameNode Hostname
.Task.IDTask ID
.Task.NameTask name
.Task.SlotTask slot
\n\n\n#### + Template example\n\nIn this example, we are going to set the template of the created + containers based on the\nservice's name, the node's ID and hostname where it sits.\n\n```bash\n$ + docker service create --name hosttempl \\\n --hostname=\"{{.Node.Hostname}}-{{.Node.ID}}-{{.Service.Name}}\"\\\n + \ busybox top\n\nva8ew30grofhjoychbr6iot8c\n\n$ docker service + ps va8ew30grofhjoychbr6iot8c\n\nID NAME IMAGE NODE + \ DESIRED STATE CURRENT STATE ERROR PORTS\nwo41w8hg8qan + \ hosttempl.1 busybox:latest@sha256:29f5d56d12684887bdfa50dcd29fc31eea4aaf4ad3bec43daf19026a7ce69912 + \ 2e7a8a9c4da2 Running Running about a minute ago\n\n$ docker inspect --format=\"{{.Config.Hostname}}\" + 2e7a8a9c4da2-wo41w8hg8qanxwjwsg4kxpprj-hosttempl\n\nx3ti0erg11rjpg64m75kej2mz-hosttempl\n```\n\n### + Specify isolation mode (Windows)\n\nBy default, tasks scheduled on Windows nodes + are run using the default isolation mode \nconfigured for this particular node. + To force a specific isolation mode, you can use \nthe `--isolation` flag: \n\n```bash\n$ + docker service create --name myservice --isolation=process microsoft/nanoserver\n```\n\nSupported + isolation modes on Windows are:\n- `default`: use default settings specified on + the node running the task\n- `process`: use process isolation (Windows server only)\n- + `hyperv`: use Hyper-V isolation\n\n### Create services requesting Generic Resources\n\nYou + can narrow the kind of nodes your task can land on through the using the\n`--generic-resource` + flag (if the nodes advertise these resources):\n\n```bash\n$ docker service create + --name cuda \\\n --generic-resource \"NVIDIA-GPU=2\" \\\n + \ --generic-resource \"SSD=1\" \\\n nvidia/cuda\n```" deprecated: false min_api_version: "1.24" experimental: false diff --git a/_data/engine-cli-edge/docker_service_update.yaml b/_data/engine-cli-edge/docker_service_update.yaml index 50ddbfc4a7..b5ce72a0f5 100644 --- a/_data/engine-cli-edge/docker_service_update.yaml +++ b/_data/engine-cli-edge/docker_service_update.yaml @@ -129,6 +129,16 @@ options: deprecated: false min_api_version: "1.25" experimental: false +- option: generic-resource-add + value_type: list + description: Add a Generic resource + deprecated: false + experimental: false +- option: generic-resource-rm + value_type: list + description: Remove a Generic resource + deprecated: false + experimental: false - option: group-add value_type: list description: Add an additional supplementary user group to the container @@ -178,7 +188,7 @@ options: value_type: list description: Add a custom host-to-IP mapping (host:ip) deprecated: false - min_api_version: "1.25" + min_api_version: "1.32" experimental: false - option: host-rm value_type: list @@ -197,6 +207,12 @@ options: description: Service image tag deprecated: false experimental: false +- option: isolation + value_type: string + description: Service container isolation mode + deprecated: false + min_api_version: "1.35" + experimental: false - option: label-add value_type: list description: Add or update a service label @@ -535,18 +551,18 @@ examples: |- myservice ``` - ### Add or remove port mappings + ### Add or remove published service ports - Use the `--port-add` or `--port-rm` flags to add or remove port mappings to or - from a service. You can use the short or long syntax discussed in the - [docker service update](service_create/#attach-a-service-to-an-existing-network-network) + Use the `--publish-add` or `--publish-rm` flags to add or remove a published + port for a service. You can use the short or long syntax discussed in the + [docker service create](service_create/#attach-a-service-to-an-existing-network-network) reference. - The following example adds a port mapping to an existing service. + The following example adds a published service port to an existing service. ```bash $ docker service update \ - --port-add port=80,target=8080 \ + --publish-add published=8080,target=80 \ myservice ``` @@ -633,6 +649,12 @@ examples: |- Some flags of `service update` support the use of templating. See [`service create`](./service_create.md#templating) for the reference. + + + ### Specify isolation mode (Windows) + + `service update` supports the same `--isolation` flag as `service create` + See [`service create`](./service_create.md) for the reference. deprecated: false min_api_version: "1.24" experimental: false diff --git a/_data/engine-cli-edge/docker_trust.yaml b/_data/engine-cli-edge/docker_trust.yaml index d67a6233b8..924f02004a 100644 --- a/_data/engine-cli-edge/docker_trust.yaml +++ b/_data/engine-cli-edge/docker_trust.yaml @@ -5,12 +5,14 @@ usage: docker trust pname: docker plink: docker.yaml cname: +- docker trust inspect - docker trust key - docker trust revoke - docker trust sign - docker trust signer - docker trust view clink: +- docker_trust_inspect.yaml - docker_trust_key.yaml - docker_trust_revoke.yaml - docker_trust_sign.yaml diff --git a/_data/engine-cli-edge/docker_trust_inspect.yaml b/_data/engine-cli-edge/docker_trust_inspect.yaml new file mode 100644 index 0000000000..8b253b6386 --- /dev/null +++ b/_data/engine-cli-edge/docker_trust_inspect.yaml @@ -0,0 +1,116 @@ +command: docker trust inspect +short: Return low-level information about keys and signatures +long: |- + `docker trust inspect` provides low-level JSON information on signed repositories. + This includes all image tags that are signed, who signed them, and who can sign + new tags. + + `docker trust inspect` prints the trust information in a machine-readable format. Refer to + [`docker trust view`](trust_view.md) for a human-friendly output. + + `docker trust inspect` is currently experimental. +usage: docker trust inspect IMAGE[:TAG] [IMAGE[:TAG]...] +pname: docker trust +plink: docker_trust.yaml +examples: "### Get low-level details about signatures for a single image tag\n\nUse + the `docker trust inspect` to get trust information about an image. The\nfollowing + example prints trust information for the `alpine:latest` image:\n\n```bash\n$ docker + trust inspect alpine:latest\n[\n {\n \"Name\": \"alpine:latest\",\n \"SignedTags\": + [\n {\n \"SignedTag\": \"latest\",\n \"Digest\": \"d6bfc3baf615dc9618209a8d607ba2a8103d9c8a405b3bd8741d88b4bef36478\",\n + \ \"Signers\": [\n \"Repo Admin\"\n ]\n }\n ],\n \"Signers\": + [],\n \"AdminstrativeKeys\": [\n {\n \"Name\": \"Repository\",\n + \ \"Keys\": [\n {\n \"ID\": \"5a46c9aaa82ff150bb7305a2d17d0c521c2d784246807b2dc611f436a69041fd\"\n + \ }\n ]\n },\n {\n \"Name\": \"Root\",\n \"Keys\": + [\n {\n \"ID\": \"a2489bcac7a79aa67b19b96c4a3bf0c675ffdf00c6d2fabe1a5df1115e80adce\"\n + \ }\n ]\n }\n ]\n }\n]\n```\n\nThe `SignedTags` key will + list the `SignedTag` name, its `Digest`, and the `Signers` responsible for the signature.\n\n`AdministrativeKeys` + will list the `Repository` and `Root` keys.\n\nThis format mirrors the output of + `docker trust view` \n\nIf signers are set up for the repository via other `docker + trust` commands, `docker trust inspect` includes a `Signers` key:\n\n```bash\n$ + docker trust inspect my-image:purple\n[\n {\n \"Name\": \"my-image:purple\",\n + \ \"SignedTags\": [\n {\n \"SignedTag\": \"purple\",\n \"Digest\": + \"941d3dba358621ce3c41ef67b47cf80f701ff80cdf46b5cc86587eaebfe45557\",\n \"Signers\": + [\n \"alice\",\n \"bob\",\n \"carol\"\n ]\n }\n + \ ],\n \"Signers\": [\n {\n \"Name\": \"alice\",\n \"Keys\": + [\n {\n \"ID\": \"04dd031411ed671ae1e12f47ddc8646d98f135090b01e54c3561e843084484a3\"\n + \ },\n {\n \"ID\": \"6a11e4898a4014d400332ab0e096308c844584ff70943cdd1d6628d577f45fd8\"\n + \ }\n ]\n },\n {\n \"Name\": \"bob\",\n \"Keys\": + [\n {\n \"ID\": \"433e245c656ae9733cdcc504bfa560f90950104442c4528c9616daa45824ccba\"\n + \ }\n ]\n },\n {\n \"Name\": \"carol\",\n \"Keys\": + [\n {\n \"ID\": \"d32fa8b5ca08273a2880f455fcb318da3dc80aeae1a30610815140deef8f30d9\"\n + \ },\n {\n \"ID\": \"9a8bbec6ba2af88a5fad6047d428d17e6d05dbdd03d15b4fc8a9a0e8049cd606\"\n + \ }\n ]\n }\n ],\n \"AdminstrativeKeys\": [\n {\n + \ \"Name\": \"Repository\",\n \"Keys\": [\n {\n \"ID\": + \"27df2c8187e7543345c2e0bf3a1262e0bc63a72754e9a7395eac3f747ec23a44\"\n }\n + \ ]\n },\n {\n \"Name\": \"Root\",\n \"Keys\": [\n + \ {\n \"ID\": \"40b66ccc8b176be8c7d365a17f3e046d1c3494e053dd57cfeacfe2e19c4f8e8f\"\n + \ }\n ]\n }\n ]\n }\n]\n```\n\nIf the image tag is unsigned + or unavailable, `docker trust inspect` does not display any signed tags.\n\n```bash\n$ + docker trust inspect unsigned-img\nNo signatures or cannot access unsigned-img\n```\n\nHowever, + if other tags are signed in the same image repository, `docker trust inspect` reports + relevant key information:\n\n```bash\n$ docker trust inspect alpine:unsigned\n[\n + \ {\n \"Name\": \"alpine:unsigned\",\n \"Signers\": [],\n \"AdminstrativeKeys\": + [\n {\n \"Name\": \"Repository\",\n \"Keys\": [\n {\n + \ \"ID\": \"5a46c9aaa82ff150bb7305a2d17d0c521c2d784246807b2dc611f436a69041fd\"\n + \ }\n ]\n },\n {\n \"Name\": \"Root\",\n \"Keys\": + [\n {\n \"ID\": \"a2489bcac7a79aa67b19b96c4a3bf0c675ffdf00c6d2fabe1a5df1115e80adce\"\n + \ }\n ]\n }\n ]\n }\n]\n```\n\n### Get details about signatures + for all image tags in a repository\n\nIf no tag is specified, `docker trust inspect` + will report details for all signed tags in the repository:\n\n```bash\n$ docker + trust inspect alpine\n[\n {\n \"Name\": \"alpine\",\n \"SignedTags\": + [\n {\n \"SignedTag\": \"3.5\",\n \"Digest\": + \"b007a354427e1880de9cdba533e8e57382b7f2853a68a478a17d447b302c219c\",\n \"Signers\": + [\n \"Repo Admin\"\n ]\n },\n {\n + \ \"SignedTag\": \"3.6\",\n \"Digest\": \"d6bfc3baf615dc9618209a8d607ba2a8103d9c8a405b3bd8741d88b4bef36478\",\n + \ \"Signers\": [\n \"Repo Admin\"\n ]\n + \ },\n {\n \"SignedTag\": \"edge\",\n \"Digest\": + \"23e7d843e63a3eee29b6b8cfcd10e23dd1ef28f47251a985606a31040bf8e096\",\n \"Signers\": + [\n \"Repo Admin\"\n ]\n },\n {\n + \ \"SignedTag\": \"latest\",\n \"Digest\": \"d6bfc3baf615dc9618209a8d607ba2a8103d9c8a405b3bd8741d88b4bef36478\",\n + \ \"Signers\": [\n \"Repo Admin\"\n ]\n + \ }\n ],\n \"Signers\": [],\n \"AdminstrativeKeys\": + [\n {\n \"Name\": \"Repository\",\n \"Keys\": + [\n {\n \"ID\": \"5a46c9aaa82ff150bb7305a2d17d0c521c2d784246807b2dc611f436a69041fd\"\n + \ }\n ]\n },\n {\n \"Name\": + \"Root\",\n \"Keys\": [\n {\n \"ID\": + \"a2489bcac7a79aa67b19b96c4a3bf0c675ffdf00c6d2fabe1a5df1115e80adce\"\n }\n + \ ]\n }\n ]\n }\n]\n```\n\n\n### Get details + about signatures for multiple images\n\n`docker trust inspect` can take multiple + repositories and images as arguments, and reports the results in an ordered list:\n\n```bash\n$ + docker trust inspect alpine notary\n[\n {\n \"Name\": \"alpine\",\n \"SignedTags\": + [\n {\n \"SignedTag\": \"3.5\",\n \"Digest\": + \"b007a354427e1880de9cdba533e8e57382b7f2853a68a478a17d447b302c219c\",\n \"Signers\": + [\n \"Repo Admin\"\n ]\n },\n {\n + \ \"SignedTag\": \"3.6\",\n \"Digest\": \"d6bfc3baf615dc9618209a8d607ba2a8103d9c8a405b3bd8741d88b4bef36478\",\n + \ \"Signers\": [\n \"Repo Admin\"\n ]\n + \ },\n {\n \"SignedTag\": \"edge\",\n \"Digest\": + \"23e7d843e63a3eee29b6b8cfcd10e23dd1ef28f47251a985606a31040bf8e096\",\n \"Signers\": + [\n \"Repo Admin\"\n ]\n },\n {\n + \ \"SignedTag\": \"integ-test-base\",\n \"Digest\": + \"3952dc48dcc4136ccdde37fbef7e250346538a55a0366e3fccc683336377e372\",\n \"Signers\": + [\n \"Repo Admin\"\n ]\n },\n {\n + \ \"SignedTag\": \"latest\",\n \"Digest\": \"d6bfc3baf615dc9618209a8d607ba2a8103d9c8a405b3bd8741d88b4bef36478\",\n + \ \"Signers\": [\n \"Repo Admin\"\n ]\n + \ }\n ],\n \"Signers\": [],\n \"AdminstrativeKeys\": + [\n {\n \"Name\": \"Repository\",\n \"Keys\": + [\n {\n \"ID\": \"5a46c9aaa82ff150bb7305a2d17d0c521c2d784246807b2dc611f436a69041fd\"\n + \ }\n ]\n },\n {\n \"Name\": + \"Root\",\n \"Keys\": [\n {\n \"ID\": + \"a2489bcac7a79aa67b19b96c4a3bf0c675ffdf00c6d2fabe1a5df1115e80adce\"\n }\n + \ ]\n }\n ]\n },\n {\n \"Name\": \"notary\",\n + \ \"SignedTags\": [\n {\n \"SignedTag\": \"server\",\n + \ \"Digest\": \"71f64ab718a3331dee103bc5afc6bc492914738ce37c2d2f127a8133714ecf5c\",\n + \ \"Signers\": [\n \"Repo Admin\"\n ]\n + \ },\n {\n \"SignedTag\": \"signer\",\n \"Digest\": + \"a6122d79b1e74f70b5dd933b18a6d1f99329a4728011079f06b245205f158fe8\",\n \"Signers\": + [\n \"Repo Admin\"\n ]\n }\n ],\n + \ \"Signers\": [],\n \"AdminstrativeKeys\": [\n {\n \"Name\": + \"Root\",\n \"Keys\": [\n {\n \"ID\": + \"8cdcdef5bd039f4ab5a029126951b5985eebf57cabdcdc4d21f5b3be8bb4ce92\"\n }\n + \ ]\n },\n {\n \"Name\": \"Repository\",\n + \ \"Keys\": [\n {\n \"ID\": + \"85bfd031017722f950d480a721f845a2944db26a3dc084040a70f1b0d9bbb3df\"\n }\n + \ ]\n }\n ]\n }\n]\n```" +deprecated: false +experimental: false + diff --git a/_data/engine-cli-edge/docker_trust_sign.yaml b/_data/engine-cli-edge/docker_trust_sign.yaml index ec32d90b0c..50282ca2e2 100644 --- a/_data/engine-cli-edge/docker_trust_sign.yaml +++ b/_data/engine-cli-edge/docker_trust_sign.yaml @@ -7,6 +7,13 @@ long: |- usage: docker trust sign IMAGE:TAG pname: docker trust plink: docker_trust.yaml +options: +- option: local + value_type: bool + default_value: "false" + description: Sign a locally tagged image + deprecated: false + experimental: false examples: "### Sign a tag as a repo admin\n\nGiven an image:\n\n```bash\n$ docker trust view example/trust-demo\nSIGNED TAG DIGEST SIGNERS\nv1 \ c24134c079c35e698060beabe110bb83ab285d0d978de7d92fed2c8c83570a41 diff --git a/_data/engine-cli/docker.yaml b/_data/engine-cli/docker.yaml index a9a9c353ae..074fe34741 100644 --- a/_data/engine-cli/docker.yaml +++ b/_data/engine-cli/docker.yaml @@ -49,6 +49,7 @@ cname: - docker system - docker tag - docker top +- docker trust - docker unpause - docker update - docker version @@ -104,6 +105,7 @@ clink: - docker_system.yaml - docker_tag.yaml - docker_top.yaml +- docker_trust.yaml - docker_unpause.yaml - docker_update.yaml - docker_version.yaml diff --git a/_data/engine-cli/docker_build.yaml b/_data/engine-cli/docker_build.yaml index 691f6a7cd4..b6d95c8e2d 100644 --- a/_data/engine-cli/docker_build.yaml +++ b/_data/engine-cli/docker_build.yaml @@ -224,6 +224,12 @@ options: description: Do not use cache when building the image deprecated: false experimental: false +- option: platform + value_type: string + description: Set platform if server is multi-platform capable + deprecated: false + min_api_version: "1.32" + experimental: true - option: pull value_type: bool default_value: "false" @@ -406,35 +412,52 @@ examples: "### Build with PATH\n\n```bash\n$ docker build .\n\nUploading context stage by name as a final stage for the resulting\nimage. Commands after the target stage will be skipped.\n\n```Dockerfile\nFROM debian AS build-env\n...\n\nFROM alpine AS production-env\n...\n```\n\n```bash\n$ docker build -t mybuildimage --target - build-env .\n```\n\n### Squash an image's layers (--squash) **Experimental Only**\n\n#### + build-env .\n```\n\n### Squash an image's layers (--squash) (experimental)\n\n#### Overview\n\nOnce the image is built, squash the new layers into a new image with a single\nnew layer. Squashing does not destroy any existing image, rather it creates a new\nimage with the content of the squashed layers. This effectively makes it look\nlike all `Dockerfile` commands were created with a single layer. The build\ncache - is preserved with this method.\n\n**Note**: using this option means the new image - will not be able to take\nadvantage of layer sharing with other images and may use - significantly more\nspace.\n\n**Note**: using this option you may see significantly - more space used due to\nstoring two copies of the image, one for the build cache - with all the cache\nlayers in tact, and one for the squashed version.\n\n#### Prerequisites\n\nThe - example on this page is using experimental mode in Docker 1.13.\n\nExperimental + is preserved with this method.\n\nThe `--squash` option is an experimental feature, + and should not be considered\nstable.\n\n\nSquashing layers can be beneficial if + your Dockerfile produces multiple layers\nmodifying the same files, for example, + file that are created in one step, and\nremoved in another step. For other use-cases, + squashing images may actually have\na negative impact on performance; when pulling + an image consisting of multiple\nlayers, layers can be pulled in parallel, and allows + sharing layers between\nimages (saving space).\n\nFor most use cases, multi-stage + are a better alternative, as they give more\nfine-grained control over your build, + and can take advantage of future\noptimizations in the builder. Refer to the [use + multi-stage builds](https://docs.docker.com/engine/userguide/eng-image/multistage-build/)\nsection + in the userguide for more information.\n\n\n#### Known limitations\n\nThe `--squash` + option has a number of known limitations:\n\n- When squashing layers, the resulting + image cannot take advantage of layer \n sharing with other images, and may use + significantly more space. Sharing the\n base image is still supported.\n- When + using this option you may see significantly more space used due to\n storing two + copies of the image, one for the build cache with all the cache\n layers in tact, + and one for the squashed version.\n- While squashing layers may produce smaller + images, it may have a negative\n impact on performance, as a single layer takes + longer to extract, and\n downloading a single layer cannot be parallelized.\n- + When attempting to squash an image that does not make changes to the\n filesystem + (for example, the Dockerfile only contains `ENV` instructions),\n the squash step + will fail (see [issue #33823](https://github.com/moby/moby/issues/33823)\n\n#### + Prerequisites\n\nThe example on this page is using experimental mode in Docker 1.13.\n\nExperimental mode can be enabled by using the `--experimental` flag when starting the Docker daemon or setting `experimental: true` in the `daemon.json` configuration file.\n\nBy default, experimental mode is disabled. To see the current configuration, use the - `docker version` command.\n\n```none\n\nServer:\n Version: 1.13.1\n API version: + `docker version` command.\n\n```none\nServer:\n Version: 1.13.1\n API version: \ 1.26 (minimum version 1.12)\n Go version: go1.7.5\n Git commit: 092cba3\n Built: Wed Feb 8 06:35:24 2017\n OS/Arch: linux/amd64\n Experimental: - false\n\n [...]\n\n```\n\nTo enable experimental mode, users need to restart the - docker daemon with the experimental flag enabled.\n\n#### Enable Docker experimental\n\nExperimental + false\n\n [...]\n```\n\nTo enable experimental mode, users need to restart the docker + daemon with the experimental flag enabled.\n\n#### Enable Docker experimental\n\nExperimental features are now included in the standard Docker binaries as of version 1.13.0. For enabling experimental features, you need to start the Docker daemon with `--experimental` - flag. You can also enable the daemon flag via /etc/docker/daemon.json. e.g.\n\n```\n\n{\n - \ \"experimental\": true\n}\n\n```\nThen make sure the experimental flag is enabled:\n\n```bash\n\n$ - docker version -f '{{.Server.Experimental}}'\ntrue\n\n```\n\n#### Build an image - with `--squash` argument\n\nThe following is an example of docker build with `--squash` - argument\n\n```Dockerfile\n\nFROM busybox\nRUN echo hello > /hello\nRUN echo world - >> /hello\nRUN touch remove_me /remove_me\nENV HELLO world\nRUN rm /remove_me\n\n```\nAn - image named `test` is built with `--squash` argument.\n\n```bash\n\n$ docker build - --squash -t test .\n\n[...]\n\n```\n\nIf everything is right, the history will look + flag. You can also enable the daemon flag via /etc/docker/daemon.json. e.g.\n\n```json\n{\n + \ \"experimental\": true\n}\n```\n\nThen make sure the experimental flag is enabled:\n\n```bash\n$ + docker version -f '{{.Server.Experimental}}'\ntrue\n```\n\n#### Build an image with + `--squash` argument\n\nThe following is an example of docker build with `--squash` + argument\n\n```Dockerfile\nFROM busybox\nRUN echo hello > /hello\nRUN echo world + >> /hello\nRUN touch remove_me /remove_me\nENV HELLO world\nRUN rm /remove_me\n```\n\nAn + image named `test` is built with `--squash` argument.\n\n```bash\n$ docker build + --squash -t test .\n\n[...]\n```\n\nIf everything is right, the history will look like this:\n\n```bash\n$ docker history test \n\nIMAGE CREATED CREATED BY SIZE COMMENT\n4e10cb5b4cac \ 3 seconds ago 12 B @@ -447,7 +470,7 @@ examples: "### Build with PATH\n\n```bash\n$ docker build .\n\nUploading context /hello 0 B\n 6 minutes ago /bin/sh -c echo hello > /hello 0 B\n 7 weeks ago /bin/sh -c #(nop) CMD [\"sh\"] 0 B\n 7 weeks ago /bin/sh - -c #(nop) ADD file:47ca6e777c36a4cfff 1.113 MB\n\n```\nWe could find that all + -c #(nop) ADD file:47ca6e777c36a4cfff 1.113 MB\n```\n\nWe could find that all layer's name is ``, and there is a new layer with COMMENT `merge`.\n\nTest the image, check for `/remove_me` being gone, make sure `hello\\nworld` is in `/hello`, make sure the `HELLO` envvar's value is `world`." diff --git a/_data/engine-cli/docker_container_create.yaml b/_data/engine-cli/docker_container_create.yaml index e58bc7b13e..9fdba72ac0 100644 --- a/_data/engine-cli/docker_container_create.yaml +++ b/_data/engine-cli/docker_container_create.yaml @@ -417,6 +417,12 @@ options: description: Tune container pids limit (set -1 for unlimited) deprecated: false experimental: false +- option: platform + value_type: string + description: Set platform if server is multi-platform capable + deprecated: false + min_api_version: "1.32" + experimental: true - option: privileged value_type: bool default_value: "false" diff --git a/_data/engine-cli/docker_container_exec.yaml b/_data/engine-cli/docker_container_exec.yaml index fe128ec007..c9de3ca728 100644 --- a/_data/engine-cli/docker_container_exec.yaml +++ b/_data/engine-cli/docker_container_exec.yaml @@ -50,6 +50,13 @@ options: description: 'Username or UID (format: [:])' deprecated: false experimental: false +- option: workdir + shorthand: w + value_type: string + description: Working directory inside the container + deprecated: false + min_api_version: "1.35" + experimental: false deprecated: false experimental: false diff --git a/_data/engine-cli/docker_container_logs.yaml b/_data/engine-cli/docker_container_logs.yaml index 68d4b2d9a4..9a13f7a6b3 100644 --- a/_data/engine-cli/docker_container_logs.yaml +++ b/_data/engine-cli/docker_container_logs.yaml @@ -37,6 +37,13 @@ options: description: Show timestamps deprecated: false experimental: false +- option: until + value_type: string + description: | + Show logs before a timestamp (e.g. 2013-01-02T13:23:37) or relative (e.g. 42m for 42 minutes) + deprecated: false + min_api_version: "1.35" + experimental: false deprecated: false experimental: false diff --git a/_data/engine-cli/docker_container_run.yaml b/_data/engine-cli/docker_container_run.yaml index c49190416f..e4dac8f532 100644 --- a/_data/engine-cli/docker_container_run.yaml +++ b/_data/engine-cli/docker_container_run.yaml @@ -429,6 +429,12 @@ options: description: Tune container pids limit (set -1 for unlimited) deprecated: false experimental: false +- option: platform + value_type: string + description: Set platform if server is multi-platform capable + deprecated: false + min_api_version: "1.32" + experimental: true - option: privileged value_type: bool default_value: "false" diff --git a/_data/engine-cli/docker_container_stats.yaml b/_data/engine-cli/docker_container_stats.yaml index 89b4f1f170..c7ee08219b 100644 --- a/_data/engine-cli/docker_container_stats.yaml +++ b/_data/engine-cli/docker_container_stats.yaml @@ -23,6 +23,12 @@ options: description: Disable streaming stats and only pull the first result deprecated: false experimental: false +- option: no-trunc + value_type: bool + default_value: "false" + description: Do not truncate output + deprecated: false + experimental: false deprecated: false experimental: false diff --git a/_data/engine-cli/docker_create.yaml b/_data/engine-cli/docker_create.yaml index 07f1c75830..bc62179a01 100644 --- a/_data/engine-cli/docker_create.yaml +++ b/_data/engine-cli/docker_create.yaml @@ -428,6 +428,12 @@ options: description: Tune container pids limit (set -1 for unlimited) deprecated: false experimental: false +- option: platform + value_type: string + description: Set platform if server is multi-platform capable + deprecated: false + min_api_version: "1.32" + experimental: true - option: privileged value_type: bool default_value: "false" @@ -628,7 +634,7 @@ examples: |- user cannot pass a size less than the Default BaseFS Size. For the `overlay2` storage driver, the size option is only available if the backing fs is `xfs` and mounted with the `pquota` mount option. - Under these conditions, user can pass any size less then the backing fs size. + Under these conditions, user can pass any size less than the backing fs size. ### Specify isolation technology for container (--isolation) diff --git a/_data/engine-cli/docker_events.yaml b/_data/engine-cli/docker_events.yaml index b6dda97e95..9ecd336ac8 100644 --- a/_data/engine-cli/docker_events.yaml +++ b/_data/engine-cli/docker_events.yaml @@ -146,16 +146,20 @@ long: |- The currently supported filters are: + * config (`config=`) * container (`container=`) * daemon (`daemon=`) * event (`event=`) * image (`image=`) * label (`label=` or `label==`) * network (`network=`) + * node (`node=`) * plugin (`plugin=`) * scope (`scope=`) + * secret (`secret=`) + * service (`service=`) * type (`type=`) - * volume (`volume=`) + * volume (`volume=`) #### Format diff --git a/_data/engine-cli/docker_exec.yaml b/_data/engine-cli/docker_exec.yaml index 451fe05a2b..c2edeff798 100644 --- a/_data/engine-cli/docker_exec.yaml +++ b/_data/engine-cli/docker_exec.yaml @@ -7,7 +7,7 @@ long: |- process (`PID 1`) is running, and it is not restarted if the container is restarted. - COMMAND will run in the default directory of the container. It the + COMMAND will run in the default directory of the container. If the underlying image has a custom directory specified with the WORKDIR directive in its Dockerfile, this will be used instead. @@ -63,6 +63,13 @@ options: description: 'Username or UID (format: [:])' deprecated: false experimental: false +- option: workdir + shorthand: w + value_type: string + description: Working directory inside the container + deprecated: false + min_api_version: "1.35" + experimental: false examples: "### Run `docker exec` on a running container\n\nFirst, start a container.\n\n```bash\n$ docker run --name ubuntu_bash --rm -i -t ubuntu bash\n```\n\nThis will create a container named `ubuntu_bash` and start a Bash session.\n\nNext, execute a command @@ -74,14 +81,17 @@ examples: "### Run `docker exec` on a running container\n\nFirst, start a contai bash session.\n\n```bash\n$ docker exec -it -e VAR=1 ubuntu_bash bash\n```\n\nThis will create a new Bash session in the container `ubuntu_bash` with environment \nvariable `$VAR` set to \"1\". Note that this environment variable will only be valid \non - the current Bash session.\n\n\n### Try to run `docker exec` on a paused container\n\nIf - the container is paused, then the `docker exec` command will fail with an error:\n\n```bash\n$ - docker pause test\n\ntest\n\n$ docker ps\n\nCONTAINER ID IMAGE COMMAND - \ CREATED STATUS PORTS NAMES\n1ae3b36715d2 - \ ubuntu:latest \"bash\" 17 seconds ago Up 16 seconds - (Paused) test\n\n$ docker exec test ls\n\nFATA[0000] Error - response from daemon: Container test is paused, unpause the container before exec\n\n$ - echo $?\n1\n```" + the current Bash session.\n\nBy default `docker exec` command runs in the same working + directory set when container was created.\n\n```bash\n$ docker exec -it ubuntu_bash + pwd\n/\n```\n\nYou can select working directory for the command to execute into\n\n```bash\n$ + docker exec -it -w /root ubuntu_bash pwd\n/root\n```\n\n\n### Try to run `docker + exec` on a paused container\n\nIf the container is paused, then the `docker exec` + command will fail with an error:\n\n```bash\n$ docker pause test\n\ntest\n\n$ docker + ps\n\nCONTAINER ID IMAGE COMMAND CREATED STATUS + \ PORTS NAMES\n1ae3b36715d2 ubuntu:latest + \ \"bash\" 17 seconds ago Up 16 seconds (Paused) test\n\n$ + docker exec test ls\n\nFATA[0000] Error response from daemon: Container test is + paused, unpause the container before exec\n\n$ echo $?\n1\n```" deprecated: false experimental: false diff --git a/_data/engine-cli/docker_image_build.yaml b/_data/engine-cli/docker_image_build.yaml index 52d2f12335..dd72da1a11 100644 --- a/_data/engine-cli/docker_image_build.yaml +++ b/_data/engine-cli/docker_image_build.yaml @@ -122,6 +122,12 @@ options: description: Do not use cache when building the image deprecated: false experimental: false +- option: platform + value_type: string + description: Set platform if server is multi-platform capable + deprecated: false + min_api_version: "1.32" + experimental: true - option: pull value_type: bool default_value: "false" diff --git a/_data/engine-cli/docker_image_pull.yaml b/_data/engine-cli/docker_image_pull.yaml index f70927af33..00c5daab4a 100644 --- a/_data/engine-cli/docker_image_pull.yaml +++ b/_data/engine-cli/docker_image_pull.yaml @@ -18,6 +18,12 @@ options: description: Skip image verification deprecated: false experimental: false +- option: platform + value_type: string + description: Set platform if server is multi-platform capable + deprecated: false + min_api_version: "1.32" + experimental: true deprecated: false experimental: false diff --git a/_data/engine-cli/docker_login.yaml b/_data/engine-cli/docker_login.yaml index 6b467bd54c..b706fcfced 100644 --- a/_data/engine-cli/docker_login.yaml +++ b/_data/engine-cli/docker_login.yaml @@ -14,53 +14,60 @@ long: "Login to a registry.\n\n### Login to a self-hosted registry\n\nIf you wan impact the security of your system; the `docker` group is `root` equivalent. See [Docker Daemon Attack Surface](https://docs.docker.com/security/security/#docker-daemon-attack-surface) for details.\n\nYou can log into any public or private repository for which you - have\ncredentials. When you log in, the command stores encoded credentials in\n`$HOME/.docker/config.json` - on Linux or `%USERPROFILE%/.docker/config.json` on Windows.\n\n### Credentials store\n\nThe - Docker Engine can keep user credentials in an external credentials store,\nsuch - as the native keychain of the operating system. Using an external store\nis more - secure than storing credentials in the Docker configuration file.\n\nTo use a credentials - store, you need an external helper program to interact\nwith a specific keychain - or external store. Docker requires the helper\nprogram to be in the client's host - `$PATH`.\n\nThis is the list of currently available credentials helpers and where\nyou - can download them from:\n\n- D-Bus Secret Service: https://github.com/docker/docker-credential-helpers/releases\n- + have\ncredentials. When you log in, the command stores credentials in\n`$HOME/.docker/config.json` + on Linux or `%USERPROFILE%/.docker/config.json` on\nWindows, via the procedure described + below.\n\n### Credentials store\n\nThe Docker Engine can keep user credentials in + an external credentials store,\nsuch as the native keychain of the operating system. + Using an external store\nis more secure than storing credentials in the Docker configuration + file.\n\nTo use a credentials store, you need an external helper program to interact\nwith + a specific keychain or external store. Docker requires the helper\nprogram to be + in the client's host `$PATH`.\n\nThis is the list of currently available credentials + helpers and where\nyou can download them from:\n\n- D-Bus Secret Service: https://github.com/docker/docker-credential-helpers/releases\n- Apple macOS keychain: https://github.com/docker/docker-credential-helpers/releases\n- - Microsoft Windows Credential Manager: https://github.com/docker/docker-credential-helpers/releases\n\nYou + Microsoft Windows Credential Manager: https://github.com/docker/docker-credential-helpers/releases\n- + [pass](https://www.passwordstore.org/): https://github.com/docker/docker-credential-helpers/releases\n\nYou need to specify the credentials store in `$HOME/.docker/config.json`\nto tell the docker engine to use it. The value of the config property should be\nthe suffix of the program to use (i.e. everything after `docker-credential-`).\nFor example, to use `docker-credential-osxkeychain`:\n\n```json\n{\n\t\"credsStore\": \"osxkeychain\"\n}\n```\n\nIf you are currently logged in, run `docker logout` to remove\nthe credentials from - the file and run `docker login` again.\n\n### Credential helper protocol\n\nCredential - helpers can be any program or script that follows a very simple protocol.\nThis - protocol is heavily inspired by Git, but it differs in the information shared.\n\nThe - helpers always use the first argument in the command to identify the action.\nThere - are only three possible values for that argument: `store`, `get`, and `erase`.\n\nThe - `store` command takes a JSON payload from the standard input. That payload carries\nthe - server address, to identify the credential, the user name, and either a password\nor - an identity token.\n\n```json\n{\n\t\"ServerURL\": \"https://index.docker.io/v1\",\n\t\"Username\": - \"david\",\n\t\"Secret\": \"passw0rd1\"\n}\n```\n\nIf the secret being stored is - an identity token, the Username should be set to\n``.\n\nThe `store` command - can write error messages to `STDOUT` that the docker engine\nwill show if there - was an issue.\n\nThe `get` command takes a string payload from the standard input. - That payload carries\nthe server address that the docker engine needs credentials - for. This is\nan example of that payload: `https://index.docker.io/v1`.\n\nThe `get` - command writes a JSON payload to `STDOUT`. Docker reads the user name\nand password - from this payload:\n\n```json\n{\n\t\"Username\": \"david\",\n\t\"Secret\": \"passw0rd1\"\n}\n```\n\nThe - `erase` command takes a string payload from `STDIN`. That payload carries\nthe server - address that the docker engine wants to remove credentials for. This is\nan example - of that payload: `https://index.docker.io/v1`.\n\nThe `erase` command can write - error messages to `STDOUT` that the docker engine\nwill show if there was an issue.\n\n### - Credential helpers\n\nCredential helpers are similar to the credential store above, - but act as the\ndesignated programs to handle credentials for *specific registries*. - The default\ncredential store (`credsStore` or the config file itself) will not - be used for\noperations concerning credentials of the specified registries.\n\n### - Logging out\n\nIf you are currently logged in, run `docker logout` to remove\nthe - credentials from the default store.\n\nCredential helpers are specified in a similar - way to `credsStore`, but\nallow for multiple helpers to be configured at a time. - Keys specify the\nregistry domain, and values specify the suffix of the program - to use\n(i.e. everything after `docker-credential-`).\nFor example:\n\n```json\n{\n - \ \"credHelpers\": {\n \"registry.example.com\": \"registryhelper\",\n \"awesomereg.example.org\": - \"hip-star\",\n \"unicorn.example.io\": \"vcbait\"\n }\n}\n```" + the file and run `docker login` again.\n\n### Default behavior\n\nBy default, Docker + looks for the native binary on each of the platforms, i.e.\n\"osxkeychain\" on macOS, + \"wincred\" on windows, and \"pass\" on Linux. A special\ncase is that on Linux, + Docker will fall back to the \"secretservice\" binary if\nit cannot find the \"pass\" + binary. If none of these binaries are present, it\nstores the credentials (i.e. + password) in base64 encoding in the config files\ndescribed above.\n\n### Credential + helper protocol\n\nCredential helpers can be any program or script that follows + a very simple protocol.\nThis protocol is heavily inspired by Git, but it differs + in the information shared.\n\nThe helpers always use the first argument in the command + to identify the action.\nThere are only three possible values for that argument: + `store`, `get`, and `erase`.\n\nThe `store` command takes a JSON payload from the + standard input. That payload carries\nthe server address, to identify the credential, + the user name, and either a password\nor an identity token.\n\n```json\n{\n\t\"ServerURL\": + \"https://index.docker.io/v1\",\n\t\"Username\": \"david\",\n\t\"Secret\": \"passw0rd1\"\n}\n```\n\nIf + the secret being stored is an identity token, the Username should be set to\n``.\n\nThe + `store` command can write error messages to `STDOUT` that the docker engine\nwill + show if there was an issue.\n\nThe `get` command takes a string payload from the + standard input. That payload carries\nthe server address that the docker engine + needs credentials for. This is\nan example of that payload: `https://index.docker.io/v1`.\n\nThe + `get` command writes a JSON payload to `STDOUT`. Docker reads the user name\nand + password from this payload:\n\n```json\n{\n\t\"Username\": \"david\",\n\t\"Secret\": + \"passw0rd1\"\n}\n```\n\nThe `erase` command takes a string payload from `STDIN`. + That payload carries\nthe server address that the docker engine wants to remove + credentials for. This is\nan example of that payload: `https://index.docker.io/v1`.\n\nThe + `erase` command can write error messages to `STDOUT` that the docker engine\nwill + show if there was an issue.\n\n### Credential helpers\n\nCredential helpers are + similar to the credential store above, but act as the\ndesignated programs to handle + credentials for *specific registries*. The default\ncredential store (`credsStore` + or the config file itself) will not be used for\noperations concerning credentials + of the specified registries.\n\n### Logging out\n\nIf you are currently logged in, + run `docker logout` to remove\nthe credentials from the default store.\n\nCredential + helpers are specified in a similar way to `credsStore`, but\nallow for multiple + helpers to be configured at a time. Keys specify the\nregistry domain, and values + specify the suffix of the program to use\n(i.e. everything after `docker-credential-`).\nFor + example:\n\n```json\n{\n \"credHelpers\": {\n \"registry.example.com\": \"registryhelper\",\n + \ \"awesomereg.example.org\": \"hip-star\",\n \"unicorn.example.io\": \"vcbait\"\n + \ }\n}\n```" usage: docker login [OPTIONS] [SERVER] pname: docker plink: docker.yaml diff --git a/_data/engine-cli/docker_logs.yaml b/_data/engine-cli/docker_logs.yaml index dcefcae4af..52adb6c7e0 100644 --- a/_data/engine-cli/docker_logs.yaml +++ b/_data/engine-cli/docker_logs.yaml @@ -72,6 +72,27 @@ options: description: Show timestamps deprecated: false experimental: false +- option: until + value_type: string + description: | + Show logs before a timestamp (e.g. 2013-01-02T13:23:37) or relative (e.g. 42m for 42 minutes) + deprecated: false + min_api_version: "1.35" + experimental: false +examples: |- + ### Retrieve logs until a specific point in time + + In order to retrieve logs before a specific point in time, run: + + ```bash + $ docker run --name test -d busybox sh -c "while true; do $(echo date); sleep 1; done" + $ date + Tue 14 Nov 2017 16:40:00 CET + $ docker logs -f --until=2s + Tue 14 Nov 2017 16:40:00 CET + Tue 14 Nov 2017 16:40:01 CET + Tue 14 Nov 2017 16:40:02 CET + ``` deprecated: false experimental: false diff --git a/_data/engine-cli/docker_network_create.yaml b/_data/engine-cli/docker_network_create.yaml index 241ae215be..352b4dfb68 100644 --- a/_data/engine-cli/docker_network_create.yaml +++ b/_data/engine-cli/docker_network_create.yaml @@ -263,7 +263,7 @@ examples: |- You can create the network which will be used to provide the routing-mesh in the swarm cluster. You do so by specifying `--ingress` when creating the network. Only one ingress network can be created at the time. The network can be removed only - if no services depend on it. Any option available when creating a overlay network + if no services depend on it. Any option available when creating an overlay network is also available when creating the ingress network, besides the `--attachable` option. ```bash diff --git a/_data/engine-cli/docker_pull.yaml b/_data/engine-cli/docker_pull.yaml index 8dccd0467d..446ad630b2 100644 --- a/_data/engine-cli/docker_pull.yaml +++ b/_data/engine-cli/docker_pull.yaml @@ -42,6 +42,12 @@ options: description: Skip image verification deprecated: false experimental: false +- option: platform + value_type: string + description: Set platform if server is multi-platform capable + deprecated: false + min_api_version: "1.32" + experimental: true examples: |- ### Pull an image from Docker Hub diff --git a/_data/engine-cli/docker_rmi.yaml b/_data/engine-cli/docker_rmi.yaml index 6477634b6c..3fc2af9c4f 100644 --- a/_data/engine-cli/docker_rmi.yaml +++ b/_data/engine-cli/docker_rmi.yaml @@ -20,7 +20,7 @@ options: experimental: false examples: |- You can remove an image using its short or long ID, its tag, or its digest. If - an image has one or more tag referencing it, you must remove all of them before + an image has one or more tags referencing it, you must remove all of them before the image is removed. Digest references are removed automatically when an image is removed by tag. diff --git a/_data/engine-cli/docker_run.yaml b/_data/engine-cli/docker_run.yaml index cb8717b800..92c64e1f56 100644 --- a/_data/engine-cli/docker_run.yaml +++ b/_data/engine-cli/docker_run.yaml @@ -440,6 +440,12 @@ options: description: Tune container pids limit (set -1 for unlimited) deprecated: false experimental: false +- option: platform + value_type: string + description: Set platform if server is multi-platform capable + deprecated: false + min_api_version: "1.32" + experimental: true - option: privileged value_type: bool default_value: "false" @@ -657,7 +663,7 @@ examples: |- user cannot pass a size less than the Default BaseFS Size. For the `overlay2` storage driver, the size option is only available if the backing fs is `xfs` and mounted with the `pquota` mount option. - Under these conditions, user can pass any size less then the backing fs size. + Under these conditions, user can pass any size less than the backing fs size. ### Mount tmpfs (--tmpfs) @@ -1005,11 +1011,11 @@ examples: |- policy controls whether the Docker daemon restarts a container after exit. Docker supports the following restart policies: - | Policy | Result | - |:----------|:-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| - | `no` | Do not automatically restart the container when it exits. This is the default. | - | `failure` | Restart only if the container exits with a non-zero exit status. Optionally, limit the number of restart retries the Docker daemon attempts. | - | `always` | Always restart the container regardless of the exit status. When you specify always, the Docker daemon will try to restart the container indefinitely. The container will also always start on daemon startup, regardless of the current state of the container. | + | Policy | Result | + |:---------------------------|:-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| + | `no` | Do not automatically restart the container when it exits. This is the default. | + | `on-failure[:max-retries]` | Restart only if the container exits with a non-zero exit status. Optionally, limit the number of restart retries the Docker daemon attempts. | + | `always` | Always restart the container regardless of the exit status. When you specify always, the Docker daemon will try to restart the container indefinitely. The container will also always start on daemon startup, regardless of the current state of the container. | ```bash $ docker run --restart=always redis diff --git a/_data/engine-cli/docker_secret_create.yaml b/_data/engine-cli/docker_secret_create.yaml index f913c7f9cb..904eb723c3 100644 --- a/_data/engine-cli/docker_secret_create.yaml +++ b/_data/engine-cli/docker_secret_create.yaml @@ -3,10 +3,17 @@ short: Create a secret from a file or STDIN as content long: "Creates a secret using standard input or from a file for the secret content. You must run this command on a manager node. \n\nFor detailed information about using secrets, refer to [manage sensitive data with Docker secrets](https://docs.docker.com/engine/swarm/secrets/)." -usage: docker secret create [OPTIONS] SECRET file|- +usage: docker secret create [OPTIONS] SECRET [file|-] pname: docker secret plink: docker_secret.yaml options: +- option: driver + shorthand: d + value_type: string + description: Secret driver + deprecated: false + min_api_version: "1.31" + experimental: false - option: label shorthand: l value_type: list diff --git a/_data/engine-cli/docker_service_create.yaml b/_data/engine-cli/docker_service_create.yaml index 791c4f767f..161b84cdf7 100644 --- a/_data/engine-cli/docker_service_create.yaml +++ b/_data/engine-cli/docker_service_create.yaml @@ -32,7 +32,7 @@ options: - option: detach shorthand: d value_type: bool - default_value: "true" + default_value: "false" description: | Exit immediately instead of waiting for the service to converge deprecated: false @@ -78,6 +78,11 @@ options: description: Read in a file of environment variables deprecated: false experimental: false +- option: generic-resource + value_type: list + description: User defined resources + deprecated: false + experimental: false - option: group value_type: list description: Set one or more supplementary user groups for the container @@ -128,6 +133,12 @@ options: deprecated: false min_api_version: "1.25" experimental: false +- option: isolation + value_type: string + description: Service container isolation mode + deprecated: false + min_api_version: "1.35" + experimental: false - option: label shorthand: l value_type: list @@ -383,784 +394,354 @@ options: description: Working directory inside the container deprecated: false experimental: false -examples: |- - ### Create a service - - ```bash - $ docker service create --name redis redis:3.0.6 - - dmu1ept4cxcfe8k8lhtux3ro3 - - $ docker service create --mode global --name redis2 redis:3.0.6 - - a8q9dasaafudfs8q8w32udass - - $ docker service ls - - ID NAME MODE REPLICAS IMAGE - dmu1ept4cxcf redis replicated 1/1 redis:3.0.6 - a8q9dasaafud redis2 global 1/1 redis:3.0.6 - ``` - - ### Create a service with 5 replica tasks (--replicas) - - Use the `--replicas` flag to set the number of replica tasks for a replicated - service. The following command creates a `redis` service with `5` replica tasks: - - ```bash - $ docker service create --name redis --replicas=5 redis:3.0.6 - - 4cdgfyky7ozwh3htjfw0d12qv - ``` - - The above command sets the *desired* number of tasks for the service. Even - though the command returns immediately, actual scaling of the service may take - some time. The `REPLICAS` column shows both the *actual* and *desired* number - of replica tasks for the service. - - In the following example the desired state is `5` replicas, but the current - number of `RUNNING` tasks is `3`: - - ```bash - $ docker service ls - - ID NAME MODE REPLICAS IMAGE - 4cdgfyky7ozw redis replicated 3/5 redis:3.0.7 - ``` - - Once all the tasks are created and `RUNNING`, the actual number of tasks is - equal to the desired number: - - ```bash - $ docker service ls - - ID NAME MODE REPLICAS IMAGE - 4cdgfyky7ozw redis replicated 5/5 redis:3.0.7 - ``` - - ### Create a service with secrets - - Use the `--secret` flag to give a container access to a - [secret](secret_create.md). - - Create a service specifying a secret: - - ```bash - $ docker service create --name redis --secret secret.json redis:3.0.6 - - 4cdgfyky7ozwh3htjfw0d12qv - ``` - - Create a service specifying the secret, target, user/group ID and mode: - - ```bash - $ docker service create --name redis \ - --secret source=ssh-key,target=ssh \ - --secret source=app-key,target=app,uid=1000,gid=1001,mode=0400 \ - redis:3.0.6 - - 4cdgfyky7ozwh3htjfw0d12qv - ``` - - To grant a service access to multiple secrets, use multiple `--secret` flags. - - Secrets are located in `/run/secrets` in the container. If no target is - specified, the name of the secret will be used as the in memory file in the - container. If a target is specified, that will be the filename. In the - example above, two files will be created: `/run/secrets/ssh` and - `/run/secrets/app` for each of the secret targets specified. - - ### Create a service with a rolling update policy - - ```bash - $ docker service create \ - --replicas 10 \ - --name redis \ - --update-delay 10s \ - --update-parallelism 2 \ - redis:3.0.6 - ``` - - When you run a [service update](service_update.md), the scheduler updates a - maximum of 2 tasks at a time, with `10s` between updates. For more information, - refer to the [rolling updates - tutorial](https://docs.docker.com/engine/swarm/swarm-tutorial/rolling-update/). - - ### Set environment variables (-e, --env) - - This sets an environmental variable for all tasks in a service. For example: - - ```bash - $ docker service create \ - --name redis_2 \ - --replicas 5 \ - --env MYVAR=foo \ - redis:3.0.6 - ``` - - To specify multiple environment variables, specify multiple `--env` flags, each - with a separate key-value pair. - - ```bash - $ docker service create \ - --name redis_2 \ - --replicas 5 \ - --env MYVAR=foo \ - --env MYVAR2=bar \ - redis:3.0.6 - ``` - - ### Create a service with specific hostname (--hostname) - - This option sets the docker service containers hostname to a specific string. - For example: - - ```bash - $ docker service create --name redis --hostname myredis redis:3.0.6 - ``` - - ### Set metadata on a service (-l, --label) - - A label is a `key=value` pair that applies metadata to a service. To label a - service with two labels: - - ```bash - $ docker service create \ - --name redis_2 \ - --label com.example.foo="bar" - --label bar=baz \ - redis:3.0.6 - ``` - - For more information about labels, refer to [apply custom - metadata](https://docs.docker.com/engine/userguide/labels-custom-metadata/). - - ### Add bind mounts, volumes or memory filesystems - - Docker supports three different kinds of mounts, which allow containers to read - from or write to files or directories, either on the host operating system, or - on memory filesystems. These types are _data volumes_ (often referred to simply - as volumes), _bind mounts_, and _tmpfs_. - - A **bind mount** makes a file or directory on the host available to the - container it is mounted within. A bind mount may be either read-only or - read-write. For example, a container might share its host's DNS information by - means of a bind mount of the host's `/etc/resolv.conf` or a container might - write logs to its host's `/var/log/myContainerLogs` directory. If you use - bind mounts and your host and containers have different notions of permissions, - access controls, or other such details, you will run into portability issues. - - A **named volume** is a mechanism for decoupling persistent data needed by your - container from the image used to create the container and from the host machine. - Named volumes are created and managed by Docker, and a named volume persists - even when no container is currently using it. Data in named volumes can be - shared between a container and the host machine, as well as between multiple - containers. Docker uses a _volume driver_ to create, manage, and mount volumes. - You can back up or restore volumes using Docker commands. - - A **tmpfs** mounts a tmpfs inside a container for volatile data. - - Consider a situation where your image starts a lightweight web server. You could - use that image as a base image, copy in your website's HTML files, and package - that into another image. Each time your website changed, you'd need to update - the new image and redeploy all of the containers serving your website. A better - solution is to store the website in a named volume which is attached to each of - your web server containers when they start. To update the website, you just - update the named volume. - - For more information about named volumes, see - [Data Volumes](https://docs.docker.com/engine/tutorials/dockervolumes/). - - The following table describes options which apply to both bind mounts and named - volumes in a service: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
OptionRequiredDescription
types -

The type of mount, can be either volume, bind, or tmpfs. Defaults to volume if no type is specified. -

    -
  • volume: mounts a [managed volume](volume_create.md) into the container.
  • -
  • bind: bind-mounts a directory or file from the host into the container.
  • -
  • tmpfs: mount a tmpfs in the container
  • -

-
src or sourcefor type=bind only> -
    -
  • - type=volume: src is an optional way to specify the name of the volume (for example, src=my-volume). - If the named volume does not exist, it is automatically created. If no src is specified, the volume is - assigned a random name which is guaranteed to be unique on the host, but may not be unique cluster-wide. - A randomly-named volume has the same lifecycle as its container and is destroyed when the container - is destroyed (which is upon service update, or when scaling or re-balancing the service) -
  • -
  • - type=bind: src is required, and specifies an absolute path to the file or directory to bind-mount - (for example, src=/path/on/host/). An error is produced if the file or directory does not exist. -
  • -
  • - type=tmpfs: src is not supported. -
  • -
-

dst or destination or target

yes -

Mount path inside the container, for example /some/path/in/container/. - If the path does not exist in the container's filesystem, the Engine creates - a directory at the specified location before mounting the volume or bind mount.

-

readonly or ro

-

The Engine mounts binds and volumes read-write unless readonly option - is given when mounting the bind or volume. -

    -
  • true or 1 or no value: Mounts the bind or volume read-only.
  • -
  • false or 0: Mounts the bind or volume read-write.
  • -

-
consistency -

The consistency requirements for the mount; one of -

    -
  • default: Equivalent to consistent.
  • -
  • consistent: Full consistency. The container runtime and the host maintain an identical view of the mount at all times.
  • -
  • cached: The host's view of the mount is authoritative. There may be delays before updates made on the host are visible within a container.
  • -
  • delegated: The container runtime's view of the mount is authoritative. There may be delays before updates made in a container are are visible on the host.
  • -
-

-
- - #### Bind Propagation - - Bind propagation refers to whether or not mounts created within a given - bind mount or named volume can be propagated to replicas of that mount. Consider - a mount point `/mnt`, which is also mounted on `/tmp`. The propation settings - control whether a mount on `/tmp/a` would also be available on `/mnt/a`. Each - propagation setting has a recursive counterpoint. In the case of recursion, - consider that `/tmp/a` is also mounted as `/foo`. The propagation settings - control whether `/mnt/a` and/or `/tmp/a` would exist. - - The `bind-propagation` option defaults to `rprivate` for both bind mounts and - volume mounts, and is only configurable for bind mounts. In other words, named - volumes do not support bind propagation. - - - **`shared`**: Sub-mounts of the original mount are exposed to replica mounts, - and sub-mounts of replica mounts are also propagated to the - original mount. - - **`slave`**: similar to a shared mount, but only in one direction. If the - original mount exposes a sub-mount, the replica mount can see it. - However, if the replica mount exposes a sub-mount, the original - mount cannot see it. - - **`private`**: The mount is private. Sub-mounts within it are not exposed to - replica mounts, and sub-mounts of replica mounts are not - exposed to the original mount. - - **`rshared`**: The same as shared, but the propagation also extends to and from - mount points nested within any of the original or replica mount - points. - - **`rslave`**: The same as `slave`, but the propagation also extends to and from - mount points nested within any of the original or replica mount - points. - - **`rprivate`**: The default. The same as `private`, meaning that no mount points - anywhere within the original or replica mount points propagate - in either direction. - - For more information about bind propagation, see the - [Linux kernel documentation for shared subtree](https://www.kernel.org/doc/Documentation/filesystems/sharedsubtree.txt). - - #### Options for Named Volumes - - The following options can only be used for named volumes (`type=volume`); - - - - - - - - - - - - - - - - - - - - - - - -
OptionDescription
volume-driver -

Name of the volume-driver plugin to use for the volume. Defaults to - "local", to use the local volume driver to create the volume if the - volume does not exist.

-
volume-label - One or more custom metadata ("labels") to apply to the volume upon - creation. For example, - `volume-label=mylabel=hello-world,my-other-label=hello-mars`. For more - information about labels, refer to - apply custom metadata. -
volume-nocopy - By default, if you attach an empty volume to a container, and files or - directories already existed at the mount-path in the container (dst), - the Engine copies those files and directories into the volume, allowing - the host to access them. Set `volume-nocopy` to disables copying files - from the container's filesystem to the volume and mount the empty volume. - - A value is optional: - -
    -
  • true or 1: Default if you do not provide a value. Disables copying.
  • -
  • false or 0: Enables copying.
  • -
-
volume-opt - Options specific to a given volume driver, which will be passed to the - driver when creating the volume. Options are provided as a comma-separated - list of key/value pairs, for example, - volume-opt=some-option=some-value,volume-opt=some-other-option=some-other-value. - For available options for a given driver, refer to that driver's - documentation. -
- - - #### Options for tmpfs - - The following options can only be used for tmpfs mounts (`type=tmpfs`); - - - - - - - - - - - - - - - -
OptionDescription
tmpfs-sizeSize of the tmpfs mount in bytes. Unlimited by default in Linux.
tmpfs-modeFile mode of the tmpfs in octal. (e.g. "700" or "0700".) Defaults to "1777" in Linux.
- - - #### Differences between "--mount" and "--volume" - - The `--mount` flag supports most options that are supported by the `-v` - or `--volume` flag for `docker run`, with some important exceptions: - - - The `--mount` flag allows you to specify a volume driver and volume driver - options *per volume*, without creating the volumes in advance. In contrast, - `docker run` allows you to specify a single volume driver which is shared - by all volumes, using the `--volume-driver` flag. - - - The `--mount` flag allows you to specify custom metadata ("labels") for a volume, - before the volume is created. - - - When you use `--mount` with `type=bind`, the host-path must refer to an *existing* - path on the host. The path will not be created for you and the service will fail - with an error if the path does not exist. - - - The `--mount` flag does not allow you to relabel a volume with `Z` or `z` flags, - which are used for `selinux` labeling. - - #### Create a service using a named volume - - The following example creates a service that uses a named volume: - - ```bash - $ docker service create \ - --name my-service \ - --replicas 3 \ - --mount type=volume,source=my-volume,destination=/path/in/container,volume-label="color=red",volume-label="shape=round" \ - nginx:alpine - ``` - - For each replica of the service, the engine requests a volume named "my-volume" - from the default ("local") volume driver where the task is deployed. If the - volume does not exist, the engine creates a new volume and applies the "color" - and "shape" labels. - - When the task is started, the volume is mounted on `/path/in/container/` inside - the container. - - Be aware that the default ("local") volume is a locally scoped volume driver. - This means that depending on where a task is deployed, either that task gets a - *new* volume named "my-volume", or shares the same "my-volume" with other tasks - of the same service. Multiple containers writing to a single shared volume can - cause data corruption if the software running inside the container is not - designed to handle concurrent processes writing to the same location. Also take - into account that containers can be re-scheduled by the Swarm orchestrator and - be deployed on a different node. - - #### Create a service that uses an anonymous volume - - The following command creates a service with three replicas with an anonymous - volume on `/path/in/container`: - - ```bash - $ docker service create \ - --name my-service \ - --replicas 3 \ - --mount type=volume,destination=/path/in/container \ - nginx:alpine - ``` - - In this example, no name (`source`) is specified for the volume, so a new volume - is created for each task. This guarantees that each task gets its own volume, - and volumes are not shared between tasks. Anonymous volumes are removed after - the task using them is complete. - - #### Create a service that uses a bind-mounted host directory - - The following example bind-mounts a host directory at `/path/in/container` in - the containers backing the service: - - ```bash - $ docker service create \ - --name my-service \ - --mount type=bind,source=/path/on/host,destination=/path/in/container \ - nginx:alpine - ``` - - ### Set service mode (--mode) - - The service mode determines whether this is a _replicated_ service or a _global_ - service. A replicated service runs as many tasks as specified, while a global - service runs on each active node in the swarm. - - The following command creates a global service: - - ```bash - $ docker service create \ - --name redis_2 \ - --mode global \ - redis:3.0.6 - ``` - - ### Specify service constraints (--constraint) - - You can limit the set of nodes where a task can be scheduled by defining - constraint expressions. Multiple constraints find nodes that satisfy every - expression (AND match). Constraints can match node or Docker Engine labels as - follows: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
node attributematchesexample
node.idNode IDnode.id == 2ivku8v2gvtg4
node.hostnameNode hostnamenode.hostname != node-2
node.roleNode rolenode.role == manager
node.labelsuser defined node labelsnode.labels.security == high
engine.labelsDocker Engine's labelsengine.labels.operatingsystem == ubuntu 14.04
- - - `engine.labels` apply to Docker Engine labels like operating system, - drivers, etc. Swarm administrators add `node.labels` for operational purposes by - using the [`docker node update`](node_update.md) command. - - For example, the following limits tasks for the redis service to nodes where the - node type label equals queue: - - ```bash - $ docker service create \ - --name redis_2 \ - --constraint 'node.labels.type == queue' \ - redis:3.0.6 - ``` - - ### Specify service placement preferences (--placement-pref) - - You can set up the service to divide tasks evenly over different categories of - nodes. One example of where this can be useful is to balance tasks over a set - of datacenters or availability zones. The example below illustrates this: - - ```bash - $ docker service create \ - --replicas 9 \ - --name redis_2 \ - --placement-pref 'spread=node.labels.datacenter' \ - redis:3.0.6 - ``` - - This uses `--placement-pref` with a `spread` strategy (currently the only - supported strategy) to spread tasks evenly over the values of the `datacenter` - node label. In this example, we assume that every node has a `datacenter` node - label attached to it. If there are three different values of this label among - nodes in the swarm, one third of the tasks will be placed on the nodes - associated with each value. This is true even if there are more nodes with one - value than another. For example, consider the following set of nodes: - - - Three nodes with `node.labels.datacenter=east` - - Two nodes with `node.labels.datacenter=south` - - One node with `node.labels.datacenter=west` - - Since we are spreading over the values of the `datacenter` label and the - service has 9 replicas, 3 replicas will end up in each datacenter. There are - three nodes associated with the value `east`, so each one will get one of the - three replicas reserved for this value. There are two nodes with the value - `south`, and the three replicas for this value will be divided between them, - with one receiving two replicas and another receiving just one. Finally, `west` - has a single node that will get all three replicas reserved for `west`. - - If the nodes in one category (for example, those with - `node.labels.datacenter=south`) can't handle their fair share of tasks due to - constraints or resource limitations, the extra tasks will be assigned to other - nodes instead, if possible. - - Both engine labels and node labels are supported by placement preferences. The - example above uses a node label, because the label is referenced with - `node.labels.datacenter`. To spread over the values of an engine label, use - `--placement-pref spread=engine.labels.`. - - It is possible to add multiple placement preferences to a service. This - establishes a hierarchy of preferences, so that tasks are first divided over - one category, and then further divided over additional categories. One example - of where this may be useful is dividing tasks fairly between datacenters, and - then splitting the tasks within each datacenter over a choice of racks. To add - multiple placement preferences, specify the `--placement-pref` flag multiple - times. The order is significant, and the placement preferences will be applied - in the order given when making scheduling decisions. - - The following example sets up a service with multiple placement preferences. - Tasks are spread first over the various datacenters, and then over racks - (as indicated by the respective labels): - - ```bash - $ docker service create \ - --replicas 9 \ - --name redis_2 \ - --placement-pref 'spread=node.labels.datacenter' \ - --placement-pref 'spread=node.labels.rack' \ - redis:3.0.6 - ``` - - When updating a service with `docker service update`, `--placement-pref-add` - appends a new placement preference after all existing placement preferences. - `--placement-pref-rm` removes an existing placement preference that matches the - argument. - - ### Attach a service to an existing network (--network) - - You can use overlay networks to connect one or more services within the swarm. - - First, create an overlay network on a manager node the docker network create - command: - - ```bash - $ docker network create --driver overlay my-network - - etjpu59cykrptrgw0z0hk5snf - ``` - - After you create an overlay network in swarm mode, all manager nodes have - access to the network. - - When you create a service and pass the --network flag to attach the service to - the overlay network: - - ```bash - $ docker service create \ - --replicas 3 \ - --network my-network \ - --name my-web \ - nginx - - 716thylsndqma81j6kkkb5aus - ``` - - The swarm extends my-network to each node running the service. - - Containers on the same network can access each other using - [service discovery](https://docs.docker.com/engine/swarm/networking/#use-swarm-mode-service-discovery). - - ### Publish service ports externally to the swarm (-p, --publish) - - You can publish service ports to make them available externally to the swarm - using the `--publish` flag: - - ```bash - $ docker service create --publish : nginx - ``` - - For example: - - ```bash - $ docker service create --name my_web --replicas 3 --publish 8080:80 nginx - ``` - - When you publish a service port, the swarm routing mesh makes the service - accessible at the target port on every node regardless if there is a task for - the service running on the node. For more information refer to - [Use swarm mode routing mesh](https://docs.docker.com/engine/swarm/ingress/). - - ### Publish a port for TCP only or UDP only - - By default, when you publish a port, it is a TCP port. You can - specifically publish a UDP port instead of or in addition to a TCP port. When - you publish both TCP and UDP ports, Docker 1.12.2 and earlier require you to - add the suffix `/tcp` for TCP ports. Otherwise it is optional. - - #### TCP only - - The following two commands are equivalent. - - ```bash - $ docker service create --name dns-cache -p 53:53 dns-cache - - $ docker service create --name dns-cache -p 53:53/tcp dns-cache - ``` - - #### TCP and UDP - - ```bash - $ docker service create --name dns-cache -p 53:53/tcp -p 53:53/udp dns-cache - ``` - - #### UDP only - - ```bash - $ docker service create --name dns-cache -p 53:53/udp dns-cache - ``` - - ### Provide credential specs for managed service accounts (Windows only) - - This option is only used for services using Windows containers. The - `--credential-spec` must be in the format `file://` or - `registry://`. - - When using the `file://` format, the referenced file must be - present in the `CredentialSpecs` subdirectory in the docker data directory, - which defaults to `C:\ProgramData\Docker\` on Windows. For example, - specifying `file://spec.json` loads `C:\ProgramData\Docker\CredentialSpecs\spec.json`. - - When using the `registry://` format, the credential spec is - read from the Windows registry on the daemon's host. The specified - registry value must be located in: - - HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Virtualization\Containers\CredentialSpecs - - - ### Create services using templates - - You can use templates for some flags of `service create`, using the syntax - provided by the Go's [text/template](http://golang.org/pkg/text/template/) package. - - The supported flags are the following : - - - `--hostname` - - `--mount` - - `--env` - - Valid placeholders for the Go template are listed below: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
PlaceholderDescription
.Service.IDService ID
.Service.NameService name
.Service.LabelsService labels
.Node.IDNode ID
.Task.IDTask ID
.Task.NameTask name
.Task.SlotTask slot
- - - #### Template example - - In this example, we are going to set the template of the created containers based on the - service's name and the node's ID where it sits. - - ```bash - $ docker service create --name hosttempl \ - --hostname="{{.Node.ID}}-{{.Service.Name}}"\ - busybox top - - va8ew30grofhjoychbr6iot8c - - $ docker service ps va8ew30grofhjoychbr6iot8c - - ID NAME IMAGE NODE DESIRED STATE CURRENT STATE ERROR PORTS - wo41w8hg8qan hosttempl.1 busybox:latest@sha256:29f5d56d12684887bdfa50dcd29fc31eea4aaf4ad3bec43daf19026a7ce69912 2e7a8a9c4da2 Running Running about a minute ago - - $ docker inspect --format="{{.Config.Hostname}}" hosttempl.1.wo41w8hg8qanxwjwsg4kxpprj - - x3ti0erg11rjpg64m75kej2mz-hosttempl - ``` +examples: "### Create a service\n\n```bash\n$ docker service create --name redis redis:3.0.6\n\ndmu1ept4cxcfe8k8lhtux3ro3\n\n$ + docker service create --mode global --name redis2 redis:3.0.6\n\na8q9dasaafudfs8q8w32udass\n\n$ + docker service ls\n\nID NAME MODE REPLICAS IMAGE\ndmu1ept4cxcf + \ redis replicated 1/1 redis:3.0.6\na8q9dasaafud redis2 global 1/1 + \ redis:3.0.6\n```\n\n### Create a service with 5 replica tasks (--replicas)\n\nUse + the `--replicas` flag to set the number of replica tasks for a replicated\nservice. + The following command creates a `redis` service with `5` replica tasks:\n\n```bash\n$ + docker service create --name redis --replicas=5 redis:3.0.6\n\n4cdgfyky7ozwh3htjfw0d12qv\n```\n\nThe + above command sets the *desired* number of tasks for the service. Even\nthough the + command returns immediately, actual scaling of the service may take\nsome time. + The `REPLICAS` column shows both the *actual* and *desired* number\nof replica tasks + for the service.\n\nIn the following example the desired state is `5` replicas, + but the current\nnumber of `RUNNING` tasks is `3`:\n\n```bash\n$ docker service + ls\n\nID NAME MODE REPLICAS IMAGE\n4cdgfyky7ozw redis replicated + \ 3/5 redis:3.0.7\n```\n\nOnce all the tasks are created and `RUNNING`, the + actual number of tasks is\nequal to the desired number:\n\n```bash\n$ docker service + ls\n\nID NAME MODE REPLICAS IMAGE\n4cdgfyky7ozw redis replicated + \ 5/5 redis:3.0.7\n```\n\n### Create a service with secrets\n\nUse the `--secret` + flag to give a container access to a\n[secret](secret_create.md).\n\nCreate a service + specifying a secret:\n\n```bash\n$ docker service create --name redis --secret secret.json + redis:3.0.6\n\n4cdgfyky7ozwh3htjfw0d12qv\n```\n\nCreate a service specifying the + secret, target, user/group ID, and mode:\n\n```bash\n$ docker service create --name + redis \\\n --secret source=ssh-key,target=ssh \\\n --secret source=app-key,target=app,uid=1000,gid=1001,mode=0400 + \\\n redis:3.0.6\n\n4cdgfyky7ozwh3htjfw0d12qv\n```\n\nTo grant a service access + to multiple secrets, use multiple `--secret` flags.\n\nSecrets are located in `/run/secrets` + in the container. If no target is\nspecified, the name of the secret will be used + as the in memory file in the\ncontainer. If a target is specified, that will be + the filename. In the\nexample above, two files will be created: `/run/secrets/ssh` + and\n`/run/secrets/app` for each of the secret targets specified.\n\n### Create + a service with a rolling update policy\n\n```bash\n$ docker service create \\\n + \ --replicas 10 \\\n --name redis \\\n --update-delay 10s \\\n --update-parallelism + 2 \\\n redis:3.0.6\n```\n\nWhen you run a [service update](service_update.md), + the scheduler updates a\nmaximum of 2 tasks at a time, with `10s` between updates. + For more information,\nrefer to the [rolling updates\ntutorial](https://docs.docker.com/engine/swarm/swarm-tutorial/rolling-update/).\n\n### + Set environment variables (-e, --env)\n\nThis sets an environmental variable for + all tasks in a service. For example:\n\n```bash\n$ docker service create \\\n --name + redis_2 \\\n --replicas 5 \\\n --env MYVAR=foo \\\n redis:3.0.6\n```\n\nTo specify + multiple environment variables, specify multiple `--env` flags, each\nwith a separate + key-value pair.\n\n```bash\n$ docker service create \\\n --name redis_2 \\\n --replicas + 5 \\\n --env MYVAR=foo \\\n --env MYVAR2=bar \\\n redis:3.0.6\n```\n\n### Create + a service with specific hostname (--hostname)\n\nThis option sets the docker service + containers hostname to a specific string.\nFor example:\n\n```bash\n$ docker service + create --name redis --hostname myredis redis:3.0.6\n```\n\n### Set metadata on a + service (-l, --label)\n\nA label is a `key=value` pair that applies metadata to + a service. To label a\nservice with two labels:\n\n```bash\n$ docker service create + \\\n --name redis_2 \\\n --label com.example.foo=\"bar\"\n --label bar=baz \\\n + \ redis:3.0.6\n```\n\nFor more information about labels, refer to [apply custom\nmetadata](https://docs.docker.com/engine/userguide/labels-custom-metadata/).\n\n### + Add bind mounts, volumes or memory filesystems\n\nDocker supports three different + kinds of mounts, which allow containers to read\nfrom or write to files or directories, + either on the host operating system, or\non memory filesystems. These types are + _data volumes_ (often referred to simply\nas volumes), _bind mounts_, and _tmpfs_.\n\nA + **bind mount** makes a file or directory on the host available to the\ncontainer + it is mounted within. A bind mount may be either read-only or\nread-write. For example, + a container might share its host's DNS information by\nmeans of a bind mount of + the host's `/etc/resolv.conf` or a container might\nwrite logs to its host's `/var/log/myContainerLogs` + directory. If you use\nbind mounts and your host and containers have different notions + of permissions,\naccess controls, or other such details, you will run into portability + issues.\n\nA **named volume** is a mechanism for decoupling persistent data needed + by your\ncontainer from the image used to create the container and from the host + machine.\nNamed volumes are created and managed by Docker, and a named volume persists\neven + when no container is currently using it. Data in named volumes can be\nshared between + a container and the host machine, as well as between multiple\ncontainers. Docker + uses a _volume driver_ to create, manage, and mount volumes.\nYou can back up or + restore volumes using Docker commands.\n\nA **tmpfs** mounts a tmpfs inside a container + for volatile data.\n\nConsider a situation where your image starts a lightweight + web server. You could\nuse that image as a base image, copy in your website's HTML + files, and package\nthat into another image. Each time your website changed, you'd + need to update\nthe new image and redeploy all of the containers serving your website. + A better\nsolution is to store the website in a named volume which is attached to + each of\nyour web server containers when they start. To update the website, you + just\nupdate the named volume.\n\nFor more information about named volumes, see\n[Data + Volumes](https://docs.docker.com/engine/tutorials/dockervolumes/).\n\nThe following + table describes options which apply to both bind mounts and named\nvolumes in a + service:\n\n\n \n \n \n \n + \ \n \n \n \n \n \n \n + \ \n \n + \ \n \n \n \n + \ \n \n \n \n \n \n \n + \ \n \n \n \n \n + \ \n
OptionRequiredDescription
types\n

The + type of mount, can be either volume, bind, or tmpfs. + Defaults to volume if no type is specified.\n

    \n
  • volume: + mounts a managed + volume\n into the container.
  • bind:\n bind-mounts + a directory or file from the host into the container.
  • \n
  • tmpfs: + mount a tmpfs in the container
  • \n

\n
src or sourcefor type=bind only>\n
    \n
  • \n type=volume: src + is an optional way to specify the name of the volume (for example, src=my-volume).\n + \ If the named volume does not exist, it is automatically created. If no + src is specified, the volume is\n assigned a random name which + is guaranteed to be unique on the host, but may not be unique cluster-wide.\n A + randomly-named volume has the same lifecycle as its container and is destroyed when + the container\n is destroyed (which is upon service update, + or when scaling or re-balancing the service)\n
  • \n
  • \n type=bind: + src is required, and specifies an absolute path to the file or directory + to bind-mount\n (for example, src=/path/on/host/). An error is + produced if the file or directory does not exist.\n
  • \n
  • \n + \ type=tmpfs: src is not supported.\n
  • \n
\n + \

dst or destination or target

yes\n

Mount path inside the container, for example + /some/path/in/container/.\n If the path does not exist in the container's + filesystem, the Engine creates\n a directory at the specified location before + mounting the volume or bind mount.

\n

readonly + or ro

\n

The Engine mounts binds + and volumes read-write unless readonly option\n is given + when mounting the bind or volume.\n

    \n
  • true or 1 + or no value: Mounts the bind or volume read-only.
  • \n
  • false + or 0: Mounts the bind or volume read-write.
  • \n

\n
consistency\n

The + consistency requirements for the mount; one of\n

    \n
  • default: + Equivalent to consistent.
  • \n
  • consistent: Full + consistency. The container runtime and the host maintain an identical view of the + mount at all times.
  • \n
  • cached: The host's view of the + mount is authoritative. There may be delays before updates made on the host are + visible within a container.
  • \n
  • delegated: The container + runtime's view of the mount is authoritative. There may be delays before updates + made in a container are visible on the host.
  • \n
\n

\n
\n\n#### Bind Propagation\n\nBind propagation refers to whether + or not mounts created within a given\nbind mount or named volume can be propagated + to replicas of that mount. Consider\na mount point `/mnt`, which is also mounted + on `/tmp`. The propation settings\ncontrol whether a mount on `/tmp/a` would also + be available on `/mnt/a`. Each\npropagation setting has a recursive counterpoint. + In the case of recursion,\nconsider that `/tmp/a` is also mounted as `/foo`. The + propagation settings\ncontrol whether `/mnt/a` and/or `/tmp/a` would exist.\n\nThe + `bind-propagation` option defaults to `rprivate` for both bind mounts and\nvolume + mounts, and is only configurable for bind mounts. In other words, named\nvolumes + do not support bind propagation.\n\n- **`shared`**: Sub-mounts of the original mount + are exposed to replica mounts,\n and sub-mounts of replica mounts + are also propagated to the\n original mount.\n- **`slave`**: similar + to a shared mount, but only in one direction. If the\n original mount + exposes a sub-mount, the replica mount can see it.\n However, if the + replica mount exposes a sub-mount, the original\n mount cannot see + it.\n- **`private`**: The mount is private. Sub-mounts within it are not exposed + to\n replica mounts, and sub-mounts of replica mounts are not\n + \ exposed to the original mount.\n- **`rshared`**: The same as shared, + but the propagation also extends to and from\n mount points nested + within any of the original or replica mount\n points.\n- **`rslave`**: + The same as `slave`, but the propagation also extends to and from\n mount + points nested within any of the original or replica mount\n points.\n- + **`rprivate`**: The default. The same as `private`, meaning that no mount points\n + \ anywhere within the original or replica mount points propagate\n + \ in either direction.\n\nFor more information about bind propagation, + see the\n[Linux kernel documentation for shared subtree](https://www.kernel.org/doc/Documentation/filesystems/sharedsubtree.txt).\n\n#### + Options for Named Volumes\n\nThe following options can only be used for named volumes + (`type=volume`):\n\n\n\n \n \n \n + \ \n \n \n \n \n \n \n \n \n \n \n + \ \n \n \n + \ \n \n \n
OptionDescription
volume-driver\n

Name of the + volume-driver plugin to use for the volume. Defaults to\n \"local\", + to use the local volume driver to create the volume if the\n volume does not + exist.

\n
volume-label\n + \ One or more custom metadata (\"labels\") to apply to the volume upon\n creation. + For example,\n volume-label=mylabel=hello-world,my-other-label=hello-mars. + For more\n information about labels, refer to\n apply + custom metadata.\n
volume-nocopy\n By default, if you attach an empty volume to a container, and files + or\n directories already existed at the mount-path in the container (dst),\n + \ the Engine copies those files and directories into the volume, allowing\n + \ the host to access them. Set volume-nocopy to disable copying files\n + \ from the container's filesystem to the volume and mount the empty volume.
\n\n A value is optional:\n\n
    \n
  • true or 1: + Default if you do not provide a value. Disables copying.
  • \n
  • false + or 0: Enables copying.
  • \n
\n
volume-opt\n Options specific to a given volume + driver, which will be passed to the\n driver when creating the volume. Options + are provided as a comma-separated\n list of key/value pairs, for example,\n + \ volume-opt=some-option=some-value,volume-opt=some-other-option=some-other-value.\n + \ For available options for a given driver, refer to that driver's\n documentation.\n + \
\n\n\n#### Options for tmpfs\n\nThe following options + can only be used for tmpfs mounts (`type=tmpfs`);\n\n\n\n \n \n + \ \n \n \n \n \n \n \n + \ \n \n \n
OptionDescription
tmpfs-sizeSize + of the tmpfs mount in bytes. Unlimited by default in Linux.
tmpfs-modeFile mode of the tmpfs in octal. (e.g. \"700\" + or \"0700\".) Defaults to \"1777\" in Linux.
\n\n\n#### + Differences between \"--mount\" and \"--volume\"\n\nThe `--mount` flag supports + most options that are supported by the `-v`\nor `--volume` flag for `docker run`, + with some important exceptions:\n\n- The `--mount` flag allows you to specify a + volume driver and volume driver\n options *per volume*, without creating the volumes + in advance. In contrast,\n `docker run` allows you to specify a single volume driver + which is shared\n by all volumes, using the `--volume-driver` flag.\n\n- The `--mount` + flag allows you to specify custom metadata (\"labels\") for a volume,\n before + the volume is created.\n\n- When you use `--mount` with `type=bind`, the host-path + must refer to an *existing*\n path on the host. The path will not be created for + you and the service will fail\n with an error if the path does not exist.\n\n- + The `--mount` flag does not allow you to relabel a volume with `Z` or `z` flags,\n + \ which are used for `selinux` labeling.\n\n#### Create a service using a named + volume\n\nThe following example creates a service that uses a named volume:\n\n```bash\n$ + docker service create \\\n --name my-service \\\n --replicas 3 \\\n --mount type=volume,source=my-volume,destination=/path/in/container,volume-label=\"color=red\",volume-label=\"shape=round\" + \\\n nginx:alpine\n```\n\nFor each replica of the service, the engine requests + a volume named \"my-volume\"\nfrom the default (\"local\") volume driver where the + task is deployed. If the\nvolume does not exist, the engine creates a new volume + and applies the \"color\"\nand \"shape\" labels.\n\nWhen the task is started, the + volume is mounted on `/path/in/container/` inside\nthe container.\n\nBe aware that + the default (\"local\") volume is a locally scoped volume driver.\nThis means that + depending on where a task is deployed, either that task gets a\n*new* volume named + \"my-volume\", or shares the same \"my-volume\" with other tasks\nof the same service. + Multiple containers writing to a single shared volume can\ncause data corruption + if the software running inside the container is not\ndesigned to handle concurrent + processes writing to the same location. Also take\ninto account that containers + can be re-scheduled by the Swarm orchestrator and\nbe deployed on a different node.\n\n#### + Create a service that uses an anonymous volume\n\nThe following command creates + a service with three replicas with an anonymous\nvolume on `/path/in/container`:\n\n```bash\n$ + docker service create \\\n --name my-service \\\n --replicas 3 \\\n --mount type=volume,destination=/path/in/container + \\\n nginx:alpine\n```\n\nIn this example, no name (`source`) is specified for + the volume, so a new volume\nis created for each task. This guarantees that each + task gets its own volume,\nand volumes are not shared between tasks. Anonymous volumes + are removed after\nthe task using them is complete.\n\n#### Create a service that + uses a bind-mounted host directory\n\nThe following example bind-mounts a host directory + at `/path/in/container` in\nthe containers backing the service:\n\n```bash\n$ docker + service create \\\n --name my-service \\\n --mount type=bind,source=/path/on/host,destination=/path/in/container + \\\n nginx:alpine\n```\n\n### Set service mode (--mode)\n\nThe service mode determines + whether this is a _replicated_ service or a _global_\nservice. A replicated service + runs as many tasks as specified, while a global\nservice runs on each active node + in the swarm.\n\nThe following command creates a global service:\n\n```bash\n$ docker + service create \\\n --name redis_2 \\\n --mode global \\\n redis:3.0.6\n```\n\n### + Specify service constraints (--constraint)\n\nYou can limit the set of nodes where + a task can be scheduled by defining\nconstraint expressions. Multiple constraints + find nodes that satisfy every\nexpression (AND match). Constraints can match node + or Docker Engine labels as\nfollows:\n\n\n\n \n \n + \ \n \n \n \n \n + \ \n \n \n \n + \ \n \n \n + \ \n \n \n \n \n + \ \n \n \n \n + \ \n \n \n \n + \ \n \n \n
node attributematchesexample
node.idNode IDnode.id==2ivku8v2gvtg4
node.hostnameNode hostnamenode.hostname!=node-2
node.roleNode rolenode.role==manager
node.labelsuser defined node labelsnode.labels.security==high
engine.labelsDocker Engine's labelsengine.labels.operatingsystem==ubuntu + 14.04
\n\n\n`engine.labels` apply to Docker Engine labels + like operating system,\ndrivers, etc. Swarm administrators add `node.labels` for + operational purposes by\nusing the [`docker node update`](node_update.md) command.\n\nFor + example, the following limits tasks for the redis service to nodes where the\nnode + type label equals queue:\n\n```bash\n$ docker service create \\\n --name redis_2 + \\\n --constraint 'node.labels.type == queue' \\\n redis:3.0.6\n```\n\n### Specify + service placement preferences (--placement-pref)\n\nYou can set up the service to + divide tasks evenly over different categories of\nnodes. One example of where this + can be useful is to balance tasks over a set\nof datacenters or availability zones. + The example below illustrates this:\n\n```bash\n$ docker service create \\\n --replicas + 9 \\\n --name redis_2 \\\n --placement-pref 'spread=node.labels.datacenter' \\\n + \ redis:3.0.6\n```\n\nThis uses `--placement-pref` with a `spread` strategy (currently + the only\nsupported strategy) to spread tasks evenly over the values of the `datacenter`\nnode + label. In this example, we assume that every node has a `datacenter` node\nlabel + attached to it. If there are three different values of this label among\nnodes in + the swarm, one third of the tasks will be placed on the nodes\nassociated with each + value. This is true even if there are more nodes with one\nvalue than another. For + example, consider the following set of nodes:\n\n- Three nodes with `node.labels.datacenter=east`\n- + Two nodes with `node.labels.datacenter=south`\n- One node with `node.labels.datacenter=west`\n\nSince + we are spreading over the values of the `datacenter` label and the\nservice has + 9 replicas, 3 replicas will end up in each datacenter. There are\nthree nodes associated + with the value `east`, so each one will get one of the\nthree replicas reserved + for this value. There are two nodes with the value\n`south`, and the three replicas + for this value will be divided between them,\nwith one receiving two replicas and + another receiving just one. Finally, `west`\nhas a single node that will get all + three replicas reserved for `west`.\n\nIf the nodes in one category (for example, + those with\n`node.labels.datacenter=south`) can't handle their fair share of tasks + due to\nconstraints or resource limitations, the extra tasks will be assigned to + other\nnodes instead, if possible.\n\nBoth engine labels and node labels are supported + by placement preferences. The\nexample above uses a node label, because the label + is referenced with\n`node.labels.datacenter`. To spread over the values of an engine + label, use\n`--placement-pref spread=engine.labels.`.\n\nIt is possible + to add multiple placement preferences to a service. This\nestablishes a hierarchy + of preferences, so that tasks are first divided over\none category, and then further + divided over additional categories. One example\nof where this may be useful is + dividing tasks fairly between datacenters, and\nthen splitting the tasks within + each datacenter over a choice of racks. To add\nmultiple placement preferences, + specify the `--placement-pref` flag multiple\ntimes. The order is significant, and + the placement preferences will be applied\nin the order given when making scheduling + decisions.\n\nThe following example sets up a service with multiple placement preferences.\nTasks + are spread first over the various datacenters, and then over racks\n(as indicated + by the respective labels):\n\n```bash\n$ docker service create \\\n --replicas + 9 \\\n --name redis_2 \\\n --placement-pref 'spread=node.labels.datacenter' \\\n + \ --placement-pref 'spread=node.labels.rack' \\\n redis:3.0.6\n```\n\nWhen updating + a service with `docker service update`, `--placement-pref-add`\nappends a new placement + preference after all existing placement preferences.\n`--placement-pref-rm` removes + an existing placement preference that matches the\nargument.\n\n### Attach a service + to an existing network (--network)\n\nYou can use overlay networks to connect one + or more services within the swarm.\n\nFirst, create an overlay network on a manager + node the docker network create\ncommand:\n\n```bash\n$ docker network create --driver + overlay my-network\n\netjpu59cykrptrgw0z0hk5snf\n```\n\nAfter you create an overlay + network in swarm mode, all manager nodes have\naccess to the network.\n\nWhen you + create a service and pass the --network flag to attach the service to\nthe overlay + network:\n\n```bash\n$ docker service create \\\n --replicas 3 \\\n --network + my-network \\\n --name my-web \\\n nginx\n\n716thylsndqma81j6kkkb5aus\n```\n\nThe + swarm extends my-network to each node running the service.\n\nContainers on the + same network can access each other using\n[service discovery](https://docs.docker.com/engine/swarm/networking/#use-swarm-mode-service-discovery).\n\n### + Publish service ports externally to the swarm (-p, --publish)\n\nYou can publish + service ports to make them available externally to the swarm\nusing the `--publish` + flag. The `--publish` flag can take two different styles\nof arguments. The short + version is positional, and allows you to specify the\npublished port and target + port separated by a colon.\n\n```bash\n$ docker service create --name my_web --replicas + 3 --publish 8080:80 nginx\n```\n\nThere is also a long format, which is easier to + read and allows you to specify\nmore options. The long format is preferred. You + cannot specify the service's\nmode when using the short format. Here is an example + of using the long format\nfor the same service as above:\n\n```bash\n$ docker service + create --name my_web --replicas 3 --publish published=8080,target=80 nginx\n```\n\nThe + options you can specify are:\n\n\n\n\n \n \n \n \n\n\n \n \n \n \n\n\n + \ \n \n \n \n\n\n \n \n \n + \ \n\n\n + \ \n \n \n \n\n
OptionShort + syntaxLong syntaxDescription
published + and target port
protocol--publish 8080:80--publish + published=8080,target=80

\n The port to publish the service + to on the routing mesh or directly on\n the node, and the target port on the + container.\n

modeNot possible to set + using short syntax.--publish published=8080,target=80,mode=host

\n The mode to use for binding the port, either `ingress` or `host`. + Defaults\n to `ingress` to use the routing mesh.\n

protocol--publish 8080:80/tcp--publish + published=8080,target=80,protocol=tcp

\n The protocol to + use, either `tcp` or `udp`. Defaults to `tcp`. To bind a\n port for both protocols, + specify the `-p` or `--publish` flag twice.\n

\n\nWhen + you publish a service port using `ingres` mode, the swarm routing mesh\nmakes the + service accessible at the published port on every node regardless if\nthere is a + task for the service running on the node. If you use `host` mode,\nthe port is only + bound on nodes where the service is running, and a given port\non a node can only + be bound once. You can only set the publication mode using\nthe long syntax. For + more information refer to\n[Use swarm mode routing mesh](https://docs.docker.com/engine/swarm/ingress/).\n\n### + Provide credential specs for managed service accounts (Windows only)\n\nThis option + is only used for services using Windows containers. The\n`--credential-spec` must + be in the format `file://` or\n`registry://`.\n\nWhen using + the `file://` format, the referenced file must be\npresent in the `CredentialSpecs` + subdirectory in the docker data directory,\nwhich defaults to `C:\\ProgramData\\Docker\\` + on Windows. For example,\nspecifying `file://spec.json` loads `C:\\ProgramData\\Docker\\CredentialSpecs\\spec.json`.\n\nWhen + using the `registry://` format, the credential spec is\nread from the + Windows registry on the daemon's host. The specified\nregistry value must be located + in:\n\n HKLM\\SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\Virtualization\\Containers\\CredentialSpecs\n\n\n### + Create services using templates\n\nYou can use templates for some flags of `service + create`, using the syntax\nprovided by the Go's [text/template](http://golang.org/pkg/text/template/) + package.\n\nThe supported flags are the following :\n\n- `--hostname`\n- `--mount`\n- + `--env`\n\nValid placeholders for the Go template are listed below:\n\n\n\n + \ \n \n \n \n \n \n + \ \n \n \n \n + \ \n \n \n \n + \ \n \n \n \n \n \n \n \n \n + \ \n \n \n \n \n + \ \n \n \n \n \n + \ \n \n \n
PlaceholderDescription
.Service.IDService ID
.Service.NameService name
.Service.LabelsService labels
.Node.IDNode + ID
.Node.HostnameNode Hostname
.Task.IDTask ID
.Task.NameTask name
.Task.SlotTask slot
\n\n\n#### + Template example\n\nIn this example, we are going to set the template of the created + containers based on the\nservice's name, the node's ID and hostname where it sits.\n\n```bash\n$ + docker service create --name hosttempl \\\n --hostname=\"{{.Node.Hostname}}-{{.Node.ID}}-{{.Service.Name}}\"\\\n + \ busybox top\n\nva8ew30grofhjoychbr6iot8c\n\n$ docker service + ps va8ew30grofhjoychbr6iot8c\n\nID NAME IMAGE NODE + \ DESIRED STATE CURRENT STATE ERROR PORTS\nwo41w8hg8qan + \ hosttempl.1 busybox:latest@sha256:29f5d56d12684887bdfa50dcd29fc31eea4aaf4ad3bec43daf19026a7ce69912 + \ 2e7a8a9c4da2 Running Running about a minute ago\n\n$ docker inspect --format=\"{{.Config.Hostname}}\" + 2e7a8a9c4da2-wo41w8hg8qanxwjwsg4kxpprj-hosttempl\n\nx3ti0erg11rjpg64m75kej2mz-hosttempl\n```\n\n### + Specify isolation mode (Windows)\n\nBy default, tasks scheduled on Windows nodes + are run using the default isolation mode \nconfigured for this particular node. + To force a specific isolation mode, you can use \nthe `--isolation` flag: \n\n```bash\n$ + docker service create --name myservice --isolation=process microsoft/nanoserver\n```\n\nSupported + isolation modes on Windows are:\n- `default`: use default settings specified on + the node running the task\n- `process`: use process isolation (Windows server only)\n- + `hyperv`: use Hyper-V isolation\n\n### Create services requesting Generic Resources\n\nYou + can narrow the kind of nodes your task can land on through the using the\n`--generic-resource` + flag (if the nodes advertise these resources):\n\n```bash\n$ docker service create + --name cuda \\\n --generic-resource \"NVIDIA-GPU=2\" \\\n + \ --generic-resource \"SSD=1\" \\\n nvidia/cuda\n```" deprecated: false min_api_version: "1.24" experimental: false diff --git a/_data/engine-cli/docker_service_rollback.yaml b/_data/engine-cli/docker_service_rollback.yaml index e953bf7605..5cf3cfab93 100644 --- a/_data/engine-cli/docker_service_rollback.yaml +++ b/_data/engine-cli/docker_service_rollback.yaml @@ -10,7 +10,7 @@ options: - option: detach shorthand: d value_type: bool - default_value: "true" + default_value: "false" description: | Exit immediately instead of waiting for the service to converge deprecated: false diff --git a/_data/engine-cli/docker_service_scale.yaml b/_data/engine-cli/docker_service_scale.yaml index 03937d2892..ab8146778a 100644 --- a/_data/engine-cli/docker_service_scale.yaml +++ b/_data/engine-cli/docker_service_scale.yaml @@ -13,7 +13,7 @@ options: - option: detach shorthand: d value_type: bool - default_value: "true" + default_value: "false" description: | Exit immediately instead of waiting for the service to converge deprecated: false diff --git a/_data/engine-cli/docker_service_update.yaml b/_data/engine-cli/docker_service_update.yaml index 1ea04755b1..b5ce72a0f5 100644 --- a/_data/engine-cli/docker_service_update.yaml +++ b/_data/engine-cli/docker_service_update.yaml @@ -60,7 +60,7 @@ options: - option: detach shorthand: d value_type: bool - default_value: "true" + default_value: "false" description: | Exit immediately instead of waiting for the service to converge deprecated: false @@ -129,6 +129,16 @@ options: deprecated: false min_api_version: "1.25" experimental: false +- option: generic-resource-add + value_type: list + description: Add a Generic resource + deprecated: false + experimental: false +- option: generic-resource-rm + value_type: list + description: Remove a Generic resource + deprecated: false + experimental: false - option: group-add value_type: list description: Add an additional supplementary user group to the container @@ -176,9 +186,9 @@ options: experimental: false - option: host-add value_type: list - description: Add or update a custom host-to-IP mapping (host:ip) + description: Add a custom host-to-IP mapping (host:ip) deprecated: false - min_api_version: "1.25" + min_api_version: "1.32" experimental: false - option: host-rm value_type: list @@ -197,6 +207,12 @@ options: description: Service image tag deprecated: false experimental: false +- option: isolation + value_type: string + description: Service container isolation mode + deprecated: false + min_api_version: "1.35" + experimental: false - option: label-add value_type: list description: Add or update a service label @@ -535,6 +551,21 @@ examples: |- myservice ``` + ### Add or remove published service ports + + Use the `--publish-add` or `--publish-rm` flags to add or remove a published + port for a service. You can use the short or long syntax discussed in the + [docker service create](service_create/#attach-a-service-to-an-existing-network-network) + reference. + + The following example adds a published service port to an existing service. + + ```bash + $ docker service update \ + --publish-add published=8080,target=80 \ + myservice + ``` + ### Roll back to the previous version of a service Use the `--rollback` option to roll back to the previous version of the service. @@ -618,6 +649,12 @@ examples: |- Some flags of `service update` support the use of templating. See [`service create`](./service_create.md#templating) for the reference. + + + ### Specify isolation mode (Windows) + + `service update` supports the same `--isolation` flag as `service create` + See [`service create`](./service_create.md) for the reference. deprecated: false min_api_version: "1.24" experimental: false diff --git a/_data/engine-cli/docker_stats.yaml b/_data/engine-cli/docker_stats.yaml index be96d16bec..6ed2a16401 100644 --- a/_data/engine-cli/docker_stats.yaml +++ b/_data/engine-cli/docker_stats.yaml @@ -4,6 +4,8 @@ long: |- The `docker stats` command returns a live data stream for running containers. To limit data to one or more specific containers, specify a list of container names or ids separated by a space. You can specify a stopped container but stopped containers do not return any data. If you want more detailed information about a container's resource usage, use the `/containers/(id)/stats` API endpoint. + + > **Note**: On Linux, the Docker CLI reports memory usage by subtracting page cache usage from the total memory usage. The API does not perform such a calculation but rather provides the total memory usage and the amount from the page cache so that clients can use the data as needed. usage: docker stats [OPTIONS] [CONTAINER...] pname: docker plink: docker.yaml @@ -26,35 +28,45 @@ options: description: Disable streaming stats and only pull the first result deprecated: false experimental: false +- option: no-trunc + value_type: bool + default_value: "false" + description: Do not truncate output + deprecated: false + experimental: false examples: |- Running `docker stats` on all running containers against a Linux daemon. ```bash $ docker stats - CONTAINER CPU % MEM USAGE / LIMIT MEM % NET I/O BLOCK I/O - 1285939c1fd3 0.07% 796 KiB / 64 MiB 1.21% 788 B / 648 B 3.568 MB / 512 KB - 9c76f7834ae2 0.07% 2.746 MiB / 64 MiB 4.29% 1.266 KB / 648 B 12.4 MB / 0 B - d1ea048f04e4 0.03% 4.583 MiB / 64 MiB 6.30% 2.854 KB / 648 B 27.7 MB / 0 B + + CONTAINER ID NAME CPU % MEM USAGE / LIMIT MEM % NET I/O BLOCK I/O PIDS + b95a83497c91 awesome_brattain 0.28% 5.629MiB / 1.952GiB 0.28% 916B / 0B 147kB / 0B 9 + 67b2525d8ad1 foobar 0.00% 1.727MiB / 1.952GiB 0.09% 2.48kB / 0B 4.11MB / 0B 2 + e5c383697914 test-1951.1.kay7x1lh1twk9c0oig50sd5tr 0.00% 196KiB / 1.952GiB 0.01% 71.2kB / 0B 770kB / 0B 1 + 4bda148efbc0 random.1.vnc8on831idyr42slu578u3cr 0.00% 1.672MiB / 1.952GiB 0.08% 110kB / 0B 578kB / 0B 2 ``` Running `docker stats` on multiple containers by name and id against a Linux daemon. ```bash - $ docker stats fervent_panini 5acfcb1b4fd1 - CONTAINER CPU % MEM USAGE/LIMIT MEM % NET I/O - 5acfcb1b4fd1 0.00% 115.2 MiB/1.045 GiB 11.03% 1.422 kB/648 B - fervent_panini 0.02% 11.08 MiB/1.045 GiB 1.06% 648 B/648 B + $ docker stats awesome_brattain 67b2525d8ad1 + + CONTAINER ID NAME CPU % MEM USAGE / LIMIT MEM % NET I/O BLOCK I/O PIDS + b95a83497c91 awesome_brattain 0.28% 5.629MiB / 1.952GiB 0.28% 916B / 0B 147kB / 0B 9 + 67b2525d8ad1 foobar 0.00% 1.727MiB / 1.952GiB 0.09% 2.48kB / 0B 4.11MB / 0B 2 ``` Running `docker stats` with customized format on all (Running and Stopped) containers. ```bash - $ docker stats --all --format "table {{.ID}}\t{{.Name}}\t{{.CPUPerc}}\t{{.MemUsage}}" - CONTAINER ID NAME CPU % MEM USAGE / LIMIT - c9dfa83f0317f87637d5b7e67aa4223337d947215c5a9947e697e4f7d3e0f834 ecstatic_noether 0.00% 56KiB / 15.57GiB - 8f92d01cf3b29b4f5fca4cd33d907e05def7af5a3684711b20a2369d211ec67f stoic_goodall 0.07% 32.86MiB / 15.57GiB - 38dd23dba00f307d53d040c1d18a91361bbdcccbf592315927d56cf13d8b7343 drunk_visvesvaraya 0.00% 0B / 0B - 5a8b07ec4cc52823f3cbfdb964018623c1ba307bce2c057ccdbde5f4f6990833 big_heisenberg 0.00% 0B / 0B + $ docker stats --all --format "table {{.Container}}\t{{.CPUPerc}}\t{{.MemUsage}}" fervent_panini 5acfcb1b4fd1 drunk_visvesvaraya big_heisenberg + + CONTAINER CPU % MEM USAGE / LIMIT + fervent_panini 0.00% 56KiB / 15.57GiB + 5acfcb1b4fd1 0.07% 32.86MiB / 15.57GiB + drunk_visvesvaraya 0.00% 0B / 0B + big_heisenberg 0.00% 0B / 0B ``` `drunk_visvesvaraya` and `big_heisenberg` are stopped containers in the above example. @@ -63,7 +75,7 @@ examples: |- ```powershell PS E:\> docker stats - CONTAINER CPU % PRIV WORKING SET NET I/O BLOCK I/O + CONTAINER ID CPU % PRIV WORKING SET NET I/O BLOCK I/O 09d3bb5b1604 6.61% 38.21 MiB 17.1 kB / 7.73 kB 10.7 MB / 3.57 MB 9db7aa4d986d 9.19% 38.26 MiB 15.2 kB / 7.65 kB 10.6 MB / 3.3 MB 3f214c61ad1d 0.00% 28.64 MiB 64 kB / 6.84 kB 4.42 MB / 6.93 MB @@ -73,15 +85,15 @@ examples: |- ```powershell PS E:\> docker ps -a - CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES - 3f214c61ad1d nanoserver "cmd" 2 minutes ago Up 2 minutes big_minsky - 9db7aa4d986d windowsservercore "cmd" 2 minutes ago Up 2 minutes mad_wilson - 09d3bb5b1604 windowsservercore "cmd" 2 minutes ago Up 2 minutes affectionate_easley + CONTAINER ID NAME IMAGE COMMAND CREATED STATUS PORTS NAMES + 3f214c61ad1d awesome_brattain nanoserver "cmd" 2 minutes ago Up 2 minutes big_minsky + 9db7aa4d986d mad_wilson windowsservercore "cmd" 2 minutes ago Up 2 minutes mad_wilson + 09d3bb5b1604 fervent_panini windowsservercore "cmd" 2 minutes ago Up 2 minutes affectionate_easley PS E:\> docker stats 3f214c61ad1d mad_wilson - CONTAINER CPU % PRIV WORKING SET NET I/O BLOCK I/O - 3f214c61ad1d 0.00% 46.25 MiB 76.3 kB / 7.92 kB 10.3 MB / 14.7 MB - mad_wilson 9.59% 40.09 MiB 27.6 kB / 8.81 kB 17 MB / 20.1 MB + CONTAINER ID NAME CPU % PRIV WORKING SET NET I/O BLOCK I/O + 3f214c61ad1d awesome_brattain 0.00% 46.25 MiB 76.3 kB / 7.92 kB 10.3 MB / 14.7 MB + 9db7aa4d986d mad_wilson 9.59% 40.09 MiB 27.6 kB / 8.81 kB 17 MB / 20.1 MB ``` ### Formatting @@ -130,6 +142,20 @@ examples: |- 9c76f7834ae2 0.07% 2.746 MiB / 64 MiB d1ea048f04e4 0.03% 4.583 MiB / 64 MiB ``` + + The default format is as follows: + + On Linux: + + "table {{.ID}}\t{{.Name}}\t{{.CPUPerc}}\t{{.MemUsage}}\t{{.MemPerc}}\t{{.NetIO}}\t{{.BlockIO}}\t{{.PIDs}}" + + On Windows: + + "table {{.ID}}\t{{.Name}}\t{{.CPUPerc}}\t{{.MemUsage}}\t{{.NetIO}}\t{{.BlockIO}}" + + + > **Note**: On Docker 17.09 and older, the `{{.Container}}` column was used, in + > stead of `{{.ID}}\t{{.Name}}`. deprecated: false experimental: false diff --git a/_data/engine-cli/docker_swarm_join.yaml b/_data/engine-cli/docker_swarm_join.yaml index eb753b238b..cf5d91219f 100644 --- a/_data/engine-cli/docker_swarm_join.yaml +++ b/_data/engine-cli/docker_swarm_join.yaml @@ -94,7 +94,10 @@ examples: |- Specifying a port is optional. If the value is a bare IP address, or interface name, the default port 2377 will be used. - This flag is generally not necessary when joining an existing swarm. + This flag is generally not necessary when joining an existing swarm. If + you're joining new nodes through a load balancer, you should use this flag to + ensure the node advertises its IP address and not the IP address of the load + balancer. ### `--data-path-addr` diff --git a/_data/engine-cli/docker_system_prune.yaml b/_data/engine-cli/docker_system_prune.yaml index d89aa09ee8..9a8bc40e52 100644 --- a/_data/engine-cli/docker_system_prune.yaml +++ b/_data/engine-cli/docker_system_prune.yaml @@ -1,7 +1,8 @@ command: docker system prune short: Remove unused data -long: Remove all unused containers, volumes, networks and images (both dangling and - unreferenced). +long: |- + Remove all unused containers, networks, images (both dangling and unreferenced), + and optionally, volumes. usage: docker system prune [OPTIONS] pname: docker system plink: docker_system.yaml @@ -32,42 +33,111 @@ options: description: Prune volumes deprecated: false experimental: false -examples: "```bash\n$ docker system prune -a\n\nWARNING! This will remove:\n\t- all - stopped containers\n\t- all volumes not used by at least one container\n\t- all - networks not used by at least one container\n\t- all images without at least one - container associated to them\nAre you sure you want to continue? [y/N] y\nDeleted - Containers:\n0998aa37185a1a7036b0e12cf1ac1b6442dcfa30a5c9650a42ed5010046f195b\n73958bfb884fa81fa4cc6baf61055667e940ea2357b4036acbbe25a60f442a4d\n\nDeleted - Volumes:\nnamed-vol\n\nDeleted Images:\nuntagged: my-curl:latest\ndeleted: sha256:7d88582121f2a29031d92017754d62a0d1a215c97e8f0106c586546e7404447d\ndeleted: - sha256:dd14a93d83593d4024152f85d7c63f76aaa4e73e228377ba1d130ef5149f4d8b\nuntagged: - alpine:3.3\ndeleted: sha256:695f3d04125db3266d4ab7bbb3c6b23aa4293923e762aa2562c54f49a28f009f\nuntagged: - alpine:latest\ndeleted: sha256:ee4603260daafe1a8c2f3b78fd760922918ab2441cbb2853ed5c439e59c52f96\ndeleted: - sha256:9007f5987db353ec398a223bc5a135c5a9601798ba20a1abba537ea2f8ac765f\ndeleted: - sha256:71fa90c8f04769c9721459d5aa0936db640b92c8c91c9b589b54abd412d120ab\ndeleted: - sha256:bb1c3357b3c30ece26e6604aea7d2ec0ace4166ff34c3616701279c22444c0f3\nuntagged: - my-jq:latest\ndeleted: sha256:6e66d724542af9bc4c4abf4a909791d7260b6d0110d8e220708b09e4ee1322e1\ndeleted: - sha256:07b3fa89d4b17009eb3988dfc592c7d30ab3ba52d2007832dffcf6d40e3eda7f\ndeleted: - sha256:3a88a5c81eb5c283e72db2dbc6d65cbfd8e80b6c89bb6e714cfaaa0eed99c548\n\nTotal - reclaimed space: 13.5 MB\n```\n\n### Filtering\n\nThe filtering flag (`-f` or `--filter`) - format is of \"key=value\". If there is more\nthan one filter, then pass multiple - flags (e.g., `--filter \"foo=bar\" --filter \"bif=baz\"`)\n\nThe currently supported - filters are:\n\n* until (``) - only remove containers, images, and networks - created before given timestamp\n* label (`label=`, `label==`, `label!=`, - or `label!==`) - only remove containers, images, networks, and volumes - with (or without, in case `label!=...` is used) the specified labels.\n\nThe `until` - filter can be Unix timestamps, date formatted\ntimestamps, or Go duration strings - (e.g. `10m`, `1h30m`) computed\nrelative to the daemon machine’s time. Supported - formats for date\nformatted time stamps include RFC3339Nano, RFC3339, `2006-01-02T15:04:05`,\n`2006-01-02T15:04:05.999999999`, - `2006-01-02Z07:00`, and `2006-01-02`. The local\ntimezone on the daemon will be - used if you do not provide either a `Z` or a\n`+-00:00` timezone offset at the end - of the timestamp. When providing Unix\ntimestamps enter seconds[.nanoseconds], - where seconds is the number of seconds\nthat have elapsed since January 1, 1970 - (midnight UTC/GMT), not counting leap\nseconds (aka Unix epoch or Unix time), and - the optional .nanoseconds field is a\nfraction of a second no more than nine digits - long.\n\nThe `label` filter accepts two formats. One is the `label=...` (`label=` - or `label==`),\nwhich removes containers, images, networks, and volumes - with the specified labels. The other\nformat is the `label!=...` (`label!=` - or `label!==`), which removes\ncontainers, images, networks, and volumes - without the specified labels." +examples: |- + ```bash + $ docker system prune + + WARNING! This will remove: + - all stopped containers + - all networks not used by at least one container + - all dangling images + - all build cache + Are you sure you want to continue? [y/N] y + + Deleted Containers: + f44f9b81948b3919590d5f79a680d8378f1139b41952e219830a33027c80c867 + 792776e68ac9d75bce4092bc1b5cc17b779bc926ab04f4185aec9bf1c0d4641f + + Deleted Networks: + network1 + network2 + + Deleted Images: + untagged: hello-world@sha256:f3b3b28a45160805bb16542c9531888519430e9e6d6ffc09d72261b0d26ff74f + deleted: sha256:1815c82652c03bfd8644afda26fb184f2ed891d921b20a0703b46768f9755c57 + deleted: sha256:45761469c965421a92a69cc50e92c01e0cfa94fe026cdd1233445ea00e96289a + + Total reclaimed space: 1.84kB + ``` + + By default, volumes are not removed to prevent important data from being + deleted if there is currently no container using the volume. Use the `--volumes` + flag when running the command to prune volumes as well: + + ```bash + $ docker system prune -a --volumes + + WARNING! This will remove: + - all stopped containers + - all networks not used by at least one container + - all volumes not used by at least one container + - all images without at least one container associated to them + - all build cache + Are you sure you want to continue? [y/N] y + + Deleted Containers: + 0998aa37185a1a7036b0e12cf1ac1b6442dcfa30a5c9650a42ed5010046f195b + 73958bfb884fa81fa4cc6baf61055667e940ea2357b4036acbbe25a60f442a4d + + Deleted Networks: + my-network-a + my-network-b + + Deleted Volumes: + named-vol + + Deleted Images: + untagged: my-curl:latest + deleted: sha256:7d88582121f2a29031d92017754d62a0d1a215c97e8f0106c586546e7404447d + deleted: sha256:dd14a93d83593d4024152f85d7c63f76aaa4e73e228377ba1d130ef5149f4d8b + untagged: alpine:3.3 + deleted: sha256:695f3d04125db3266d4ab7bbb3c6b23aa4293923e762aa2562c54f49a28f009f + untagged: alpine:latest + deleted: sha256:ee4603260daafe1a8c2f3b78fd760922918ab2441cbb2853ed5c439e59c52f96 + deleted: sha256:9007f5987db353ec398a223bc5a135c5a9601798ba20a1abba537ea2f8ac765f + deleted: sha256:71fa90c8f04769c9721459d5aa0936db640b92c8c91c9b589b54abd412d120ab + deleted: sha256:bb1c3357b3c30ece26e6604aea7d2ec0ace4166ff34c3616701279c22444c0f3 + untagged: my-jq:latest + deleted: sha256:6e66d724542af9bc4c4abf4a909791d7260b6d0110d8e220708b09e4ee1322e1 + deleted: sha256:07b3fa89d4b17009eb3988dfc592c7d30ab3ba52d2007832dffcf6d40e3eda7f + deleted: sha256:3a88a5c81eb5c283e72db2dbc6d65cbfd8e80b6c89bb6e714cfaaa0eed99c548 + + Total reclaimed space: 13.5 MB + ``` + + > **Note**: The `--volumes` option was added in Docker 17.06.1. Older versions + > of Docker prune volumes by default, along with other Docker objects. On older + > versions, run `docker container prune`, `docker network prune`, and + > `docker image prune` separately to remove unused containers, networks, and + > images, without removing volumes. + + + ### Filtering + + The filtering flag (`--filter`) format is of "key=value". If there is more + than one filter, then pass multiple flags (e.g., `--filter "foo=bar" --filter "bif=baz"`) + + The currently supported filters are: + + * until (``) - only remove containers, images, and networks created before given timestamp + * label (`label=`, `label==`, `label!=`, or `label!==`) - only remove containers, images, networks, and volumes with (or without, in case `label!=...` is used) the specified labels. + + The `until` filter can be Unix timestamps, date formatted + timestamps, or Go duration strings (e.g. `10m`, `1h30m`) computed + relative to the daemon machine’s time. Supported formats for date + formatted time stamps include RFC3339Nano, RFC3339, `2006-01-02T15:04:05`, + `2006-01-02T15:04:05.999999999`, `2006-01-02Z07:00`, and `2006-01-02`. The local + timezone on the daemon will be used if you do not provide either a `Z` or a + `+-00:00` timezone offset at the end of the timestamp. When providing Unix + timestamps enter seconds[.nanoseconds], where seconds is the number of seconds + that have elapsed since January 1, 1970 (midnight UTC/GMT), not counting leap + seconds (aka Unix epoch or Unix time), and the optional .nanoseconds field is a + fraction of a second no more than nine digits long. + + The `label` filter accepts two formats. One is the `label=...` (`label=` or `label==`), + which removes containers, images, networks, and volumes with the specified labels. The other + format is the `label!=...` (`label!=` or `label!==`), which removes + containers, images, networks, and volumes without the specified labels. deprecated: false min_api_version: "1.25" experimental: false diff --git a/_data/engine-cli/docker_trust.yaml b/_data/engine-cli/docker_trust.yaml new file mode 100644 index 0000000000..924f02004a --- /dev/null +++ b/_data/engine-cli/docker_trust.yaml @@ -0,0 +1,23 @@ +command: docker trust +short: Manage trust on Docker images (experimental) +long: Manage trust on Docker images (experimental) +usage: docker trust +pname: docker +plink: docker.yaml +cname: +- docker trust inspect +- docker trust key +- docker trust revoke +- docker trust sign +- docker trust signer +- docker trust view +clink: +- docker_trust_inspect.yaml +- docker_trust_key.yaml +- docker_trust_revoke.yaml +- docker_trust_sign.yaml +- docker_trust_signer.yaml +- docker_trust_view.yaml +deprecated: false +experimental: false + diff --git a/_data/engine-cli/docker_trust_inspect.yaml b/_data/engine-cli/docker_trust_inspect.yaml new file mode 100644 index 0000000000..8b253b6386 --- /dev/null +++ b/_data/engine-cli/docker_trust_inspect.yaml @@ -0,0 +1,116 @@ +command: docker trust inspect +short: Return low-level information about keys and signatures +long: |- + `docker trust inspect` provides low-level JSON information on signed repositories. + This includes all image tags that are signed, who signed them, and who can sign + new tags. + + `docker trust inspect` prints the trust information in a machine-readable format. Refer to + [`docker trust view`](trust_view.md) for a human-friendly output. + + `docker trust inspect` is currently experimental. +usage: docker trust inspect IMAGE[:TAG] [IMAGE[:TAG]...] +pname: docker trust +plink: docker_trust.yaml +examples: "### Get low-level details about signatures for a single image tag\n\nUse + the `docker trust inspect` to get trust information about an image. The\nfollowing + example prints trust information for the `alpine:latest` image:\n\n```bash\n$ docker + trust inspect alpine:latest\n[\n {\n \"Name\": \"alpine:latest\",\n \"SignedTags\": + [\n {\n \"SignedTag\": \"latest\",\n \"Digest\": \"d6bfc3baf615dc9618209a8d607ba2a8103d9c8a405b3bd8741d88b4bef36478\",\n + \ \"Signers\": [\n \"Repo Admin\"\n ]\n }\n ],\n \"Signers\": + [],\n \"AdminstrativeKeys\": [\n {\n \"Name\": \"Repository\",\n + \ \"Keys\": [\n {\n \"ID\": \"5a46c9aaa82ff150bb7305a2d17d0c521c2d784246807b2dc611f436a69041fd\"\n + \ }\n ]\n },\n {\n \"Name\": \"Root\",\n \"Keys\": + [\n {\n \"ID\": \"a2489bcac7a79aa67b19b96c4a3bf0c675ffdf00c6d2fabe1a5df1115e80adce\"\n + \ }\n ]\n }\n ]\n }\n]\n```\n\nThe `SignedTags` key will + list the `SignedTag` name, its `Digest`, and the `Signers` responsible for the signature.\n\n`AdministrativeKeys` + will list the `Repository` and `Root` keys.\n\nThis format mirrors the output of + `docker trust view` \n\nIf signers are set up for the repository via other `docker + trust` commands, `docker trust inspect` includes a `Signers` key:\n\n```bash\n$ + docker trust inspect my-image:purple\n[\n {\n \"Name\": \"my-image:purple\",\n + \ \"SignedTags\": [\n {\n \"SignedTag\": \"purple\",\n \"Digest\": + \"941d3dba358621ce3c41ef67b47cf80f701ff80cdf46b5cc86587eaebfe45557\",\n \"Signers\": + [\n \"alice\",\n \"bob\",\n \"carol\"\n ]\n }\n + \ ],\n \"Signers\": [\n {\n \"Name\": \"alice\",\n \"Keys\": + [\n {\n \"ID\": \"04dd031411ed671ae1e12f47ddc8646d98f135090b01e54c3561e843084484a3\"\n + \ },\n {\n \"ID\": \"6a11e4898a4014d400332ab0e096308c844584ff70943cdd1d6628d577f45fd8\"\n + \ }\n ]\n },\n {\n \"Name\": \"bob\",\n \"Keys\": + [\n {\n \"ID\": \"433e245c656ae9733cdcc504bfa560f90950104442c4528c9616daa45824ccba\"\n + \ }\n ]\n },\n {\n \"Name\": \"carol\",\n \"Keys\": + [\n {\n \"ID\": \"d32fa8b5ca08273a2880f455fcb318da3dc80aeae1a30610815140deef8f30d9\"\n + \ },\n {\n \"ID\": \"9a8bbec6ba2af88a5fad6047d428d17e6d05dbdd03d15b4fc8a9a0e8049cd606\"\n + \ }\n ]\n }\n ],\n \"AdminstrativeKeys\": [\n {\n + \ \"Name\": \"Repository\",\n \"Keys\": [\n {\n \"ID\": + \"27df2c8187e7543345c2e0bf3a1262e0bc63a72754e9a7395eac3f747ec23a44\"\n }\n + \ ]\n },\n {\n \"Name\": \"Root\",\n \"Keys\": [\n + \ {\n \"ID\": \"40b66ccc8b176be8c7d365a17f3e046d1c3494e053dd57cfeacfe2e19c4f8e8f\"\n + \ }\n ]\n }\n ]\n }\n]\n```\n\nIf the image tag is unsigned + or unavailable, `docker trust inspect` does not display any signed tags.\n\n```bash\n$ + docker trust inspect unsigned-img\nNo signatures or cannot access unsigned-img\n```\n\nHowever, + if other tags are signed in the same image repository, `docker trust inspect` reports + relevant key information:\n\n```bash\n$ docker trust inspect alpine:unsigned\n[\n + \ {\n \"Name\": \"alpine:unsigned\",\n \"Signers\": [],\n \"AdminstrativeKeys\": + [\n {\n \"Name\": \"Repository\",\n \"Keys\": [\n {\n + \ \"ID\": \"5a46c9aaa82ff150bb7305a2d17d0c521c2d784246807b2dc611f436a69041fd\"\n + \ }\n ]\n },\n {\n \"Name\": \"Root\",\n \"Keys\": + [\n {\n \"ID\": \"a2489bcac7a79aa67b19b96c4a3bf0c675ffdf00c6d2fabe1a5df1115e80adce\"\n + \ }\n ]\n }\n ]\n }\n]\n```\n\n### Get details about signatures + for all image tags in a repository\n\nIf no tag is specified, `docker trust inspect` + will report details for all signed tags in the repository:\n\n```bash\n$ docker + trust inspect alpine\n[\n {\n \"Name\": \"alpine\",\n \"SignedTags\": + [\n {\n \"SignedTag\": \"3.5\",\n \"Digest\": + \"b007a354427e1880de9cdba533e8e57382b7f2853a68a478a17d447b302c219c\",\n \"Signers\": + [\n \"Repo Admin\"\n ]\n },\n {\n + \ \"SignedTag\": \"3.6\",\n \"Digest\": \"d6bfc3baf615dc9618209a8d607ba2a8103d9c8a405b3bd8741d88b4bef36478\",\n + \ \"Signers\": [\n \"Repo Admin\"\n ]\n + \ },\n {\n \"SignedTag\": \"edge\",\n \"Digest\": + \"23e7d843e63a3eee29b6b8cfcd10e23dd1ef28f47251a985606a31040bf8e096\",\n \"Signers\": + [\n \"Repo Admin\"\n ]\n },\n {\n + \ \"SignedTag\": \"latest\",\n \"Digest\": \"d6bfc3baf615dc9618209a8d607ba2a8103d9c8a405b3bd8741d88b4bef36478\",\n + \ \"Signers\": [\n \"Repo Admin\"\n ]\n + \ }\n ],\n \"Signers\": [],\n \"AdminstrativeKeys\": + [\n {\n \"Name\": \"Repository\",\n \"Keys\": + [\n {\n \"ID\": \"5a46c9aaa82ff150bb7305a2d17d0c521c2d784246807b2dc611f436a69041fd\"\n + \ }\n ]\n },\n {\n \"Name\": + \"Root\",\n \"Keys\": [\n {\n \"ID\": + \"a2489bcac7a79aa67b19b96c4a3bf0c675ffdf00c6d2fabe1a5df1115e80adce\"\n }\n + \ ]\n }\n ]\n }\n]\n```\n\n\n### Get details + about signatures for multiple images\n\n`docker trust inspect` can take multiple + repositories and images as arguments, and reports the results in an ordered list:\n\n```bash\n$ + docker trust inspect alpine notary\n[\n {\n \"Name\": \"alpine\",\n \"SignedTags\": + [\n {\n \"SignedTag\": \"3.5\",\n \"Digest\": + \"b007a354427e1880de9cdba533e8e57382b7f2853a68a478a17d447b302c219c\",\n \"Signers\": + [\n \"Repo Admin\"\n ]\n },\n {\n + \ \"SignedTag\": \"3.6\",\n \"Digest\": \"d6bfc3baf615dc9618209a8d607ba2a8103d9c8a405b3bd8741d88b4bef36478\",\n + \ \"Signers\": [\n \"Repo Admin\"\n ]\n + \ },\n {\n \"SignedTag\": \"edge\",\n \"Digest\": + \"23e7d843e63a3eee29b6b8cfcd10e23dd1ef28f47251a985606a31040bf8e096\",\n \"Signers\": + [\n \"Repo Admin\"\n ]\n },\n {\n + \ \"SignedTag\": \"integ-test-base\",\n \"Digest\": + \"3952dc48dcc4136ccdde37fbef7e250346538a55a0366e3fccc683336377e372\",\n \"Signers\": + [\n \"Repo Admin\"\n ]\n },\n {\n + \ \"SignedTag\": \"latest\",\n \"Digest\": \"d6bfc3baf615dc9618209a8d607ba2a8103d9c8a405b3bd8741d88b4bef36478\",\n + \ \"Signers\": [\n \"Repo Admin\"\n ]\n + \ }\n ],\n \"Signers\": [],\n \"AdminstrativeKeys\": + [\n {\n \"Name\": \"Repository\",\n \"Keys\": + [\n {\n \"ID\": \"5a46c9aaa82ff150bb7305a2d17d0c521c2d784246807b2dc611f436a69041fd\"\n + \ }\n ]\n },\n {\n \"Name\": + \"Root\",\n \"Keys\": [\n {\n \"ID\": + \"a2489bcac7a79aa67b19b96c4a3bf0c675ffdf00c6d2fabe1a5df1115e80adce\"\n }\n + \ ]\n }\n ]\n },\n {\n \"Name\": \"notary\",\n + \ \"SignedTags\": [\n {\n \"SignedTag\": \"server\",\n + \ \"Digest\": \"71f64ab718a3331dee103bc5afc6bc492914738ce37c2d2f127a8133714ecf5c\",\n + \ \"Signers\": [\n \"Repo Admin\"\n ]\n + \ },\n {\n \"SignedTag\": \"signer\",\n \"Digest\": + \"a6122d79b1e74f70b5dd933b18a6d1f99329a4728011079f06b245205f158fe8\",\n \"Signers\": + [\n \"Repo Admin\"\n ]\n }\n ],\n + \ \"Signers\": [],\n \"AdminstrativeKeys\": [\n {\n \"Name\": + \"Root\",\n \"Keys\": [\n {\n \"ID\": + \"8cdcdef5bd039f4ab5a029126951b5985eebf57cabdcdc4d21f5b3be8bb4ce92\"\n }\n + \ ]\n },\n {\n \"Name\": \"Repository\",\n + \ \"Keys\": [\n {\n \"ID\": + \"85bfd031017722f950d480a721f845a2944db26a3dc084040a70f1b0d9bbb3df\"\n }\n + \ ]\n }\n ]\n }\n]\n```" +deprecated: false +experimental: false + diff --git a/_data/engine-cli/docker_trust_key.yaml b/_data/engine-cli/docker_trust_key.yaml new file mode 100644 index 0000000000..5ac2396e32 --- /dev/null +++ b/_data/engine-cli/docker_trust_key.yaml @@ -0,0 +1,15 @@ +command: docker trust key +short: Manage keys for signing Docker images (experimental) +long: Manage keys for signing Docker images (experimental) +usage: docker trust key +pname: docker trust +plink: docker_trust.yaml +cname: +- docker trust key generate +- docker trust key load +clink: +- docker_trust_key_generate.yaml +- docker_trust_key_load.yaml +deprecated: false +experimental: false + diff --git a/_data/engine-cli/docker_trust_key_generate.yaml b/_data/engine-cli/docker_trust_key_generate.yaml new file mode 100644 index 0000000000..ac49054d00 --- /dev/null +++ b/_data/engine-cli/docker_trust_key_generate.yaml @@ -0,0 +1,15 @@ +command: docker trust key generate +short: Generate and load a signing key-pair +long: Generate and load a signing key-pair +usage: docker trust key generate NAME +pname: docker trust key +plink: docker_trust_key.yaml +options: +- option: dir + value_type: string + description: Directory to generate key in, defaults to current directory + deprecated: false + experimental: false +deprecated: false +experimental: false + diff --git a/_data/engine-cli/docker_trust_key_load.yaml b/_data/engine-cli/docker_trust_key_load.yaml new file mode 100644 index 0000000000..34bf5c0645 --- /dev/null +++ b/_data/engine-cli/docker_trust_key_load.yaml @@ -0,0 +1,16 @@ +command: docker trust key load +short: Load a private key file for signing +long: Load a private key file for signing +usage: docker trust key load [OPTIONS] KEYFILE +pname: docker trust key +plink: docker_trust_key.yaml +options: +- option: name + value_type: string + default_value: signer + description: Name for the loaded key + deprecated: false + experimental: false +deprecated: false +experimental: false + diff --git a/_data/engine-cli/docker_trust_revoke.yaml b/_data/engine-cli/docker_trust_revoke.yaml new file mode 100644 index 0000000000..b5d8362c27 --- /dev/null +++ b/_data/engine-cli/docker_trust_revoke.yaml @@ -0,0 +1,58 @@ +command: docker trust revoke +short: Remove trust for an image +long: |- + `docker trust revoke` removes signatures from tags in signed repositories. + + `docker trust revoke` is currently experimental. +usage: docker trust revoke [OPTIONS] IMAGE[:TAG] +pname: docker trust +plink: docker_trust.yaml +options: +- option: "yes" + shorthand: "y" + value_type: bool + default_value: "false" + description: Do not prompt for confirmation + deprecated: false + experimental: false +examples: "### Revoke signatures from a signed tag\n\nHere's an example of a repo + with two signed tags:\n\n\n```bash\n$ docker trust view example/trust-demo\nSIGNED + TAG DIGEST SIGNERS\nred + \ 852cc04935f930a857b630edc4ed6131e91b22073bcc216698842e44f64d2943 + \ alice\nblue f1c38dbaeeb473c36716f6494d803fbfbe9d8a76916f7c0093f227821e378197 + \ alice, bob\n\nList of signers and their keys for example/trust-demo:\n\nSIGNER + \ KEYS\nalice 05e87edcaecb\nbob 5600f5ab76a2\n\nAdministrative + keys for example/trust-demo:\nRepository Key:\tecc457614c9fc399da523a5f4e24fe306a0a6ee1cc79a10e4555b3c6ab02f71e\nRoot + Key:\t3cb2228f6561e58f46dbc4cda4fcaff9d5ef22e865a94636f82450d1d2234949\n```\n\nWhen + `alice`, one of the signers, runs `docker trust revoke`:\n\n```bash\n$ docker trust + revoke example/trust-demo:red\nEnter passphrase for delegation key with ID 27d42a8:\nSuccessfully + deleted signature for example/trust-demo:red\n```\n\nAfter revocation, the tag is + removed from the list of released tags:\n\n```bash\n$ docker trust view example/trust-demo\nSIGNED + TAG DIGEST SIGNERS\nblue + \ f1c38dbaeeb473c36716f6494d803fbfbe9d8a76916f7c0093f227821e378197 + \ alice, bob\n\nList of signers and their keys for example/trust-demo:\n\nSIGNER + \ KEYS\nalice 05e87edcaecb\nbob 5600f5ab76a2\n\nAdministrative + keys for example/trust-demo:\nRepository Key:\tecc457614c9fc399da523a5f4e24fe306a0a6ee1cc79a10e4555b3c6ab02f71e\nRoot + Key:\t3cb2228f6561e58f46dbc4cda4fcaff9d5ef22e865a94636f82450d1d2234949\n```\n\n### + Revoke signatures on all tags in a repository\n\nWhen no tag is specified, `docker + trust` revokes all signatures that you have a signing key for.\n\n```bash\n$ docker + trust view example/trust-demo\nSIGNED TAG DIGEST SIGNERS\nred + \ 852cc04935f930a857b630edc4ed6131e91b22073bcc216698842e44f64d2943 + \ alice\nblue f1c38dbaeeb473c36716f6494d803fbfbe9d8a76916f7c0093f227821e378197 + \ alice, bob\n\nList of signers and their keys for example/trust-demo:\n\nSIGNER + \ KEYS\nalice 05e87edcaecb\nbob 5600f5ab76a2\n\nAdministrative + keys for example/trust-demo:\nRepository Key:\tecc457614c9fc399da523a5f4e24fe306a0a6ee1cc79a10e4555b3c6ab02f71e\nRoot + Key:\t3cb2228f6561e58f46dbc4cda4fcaff9d5ef22e865a94636f82450d1d2234949\n```\n\nWhen + `alice`, one of the signers, runs `docker trust revoke`:\n\n```bash\n$ docker trust + revoke example/trust-demo\nPlease confirm you would like to delete all signature + data for example/trust-demo? [y/N] y\nEnter passphrase for delegation key with ID + 27d42a8:\nSuccessfully deleted signature for example/trust-demo\n```\n\nAll tags + that have `alice`'s signature on them are removed from the list of released tags:\n\n```bash\n$ + docker trust view example/trust-demo\n\nNo signatures for example/trust-demo\n\n\nList + of signers and their keys for example/trust-demo:\n\nSIGNER KEYS\nalice + \ 05e87edcaecb\nbob 5600f5ab76a2\n\nAdministrative + keys for example/trust-demo:\nRepository Key:\tecc457614c9fc399da523a5f4e24fe306a0a6ee1cc79a10e4555b3c6ab02f71e\nRoot + Key:\t3cb2228f6561e58f46dbc4cda4fcaff9d5ef22e865a94636f82450d1d2234949\n```" +deprecated: false +experimental: false + diff --git a/_data/engine-cli/docker_trust_sign.yaml b/_data/engine-cli/docker_trust_sign.yaml new file mode 100644 index 0000000000..50282ca2e2 --- /dev/null +++ b/_data/engine-cli/docker_trust_sign.yaml @@ -0,0 +1,57 @@ +command: docker trust sign +short: Sign an image +long: |- + `docker trust sign` adds signatures to tags to create signed repositories. + + `docker trust sign` is currently experimental. +usage: docker trust sign IMAGE:TAG +pname: docker trust +plink: docker_trust.yaml +options: +- option: local + value_type: bool + default_value: "false" + description: Sign a locally tagged image + deprecated: false + experimental: false +examples: "### Sign a tag as a repo admin\n\nGiven an image:\n\n```bash\n$ docker + trust view example/trust-demo\nSIGNED TAG DIGEST SIGNERS\nv1 + \ c24134c079c35e698060beabe110bb83ab285d0d978de7d92fed2c8c83570a41 + \ (Repo Admin)\n\nAdministrative keys for example/trust-demo:\nRepository Key:\t36d4c3601102fa7c5712a343c03b94469e5835fb27c191b529c06fd19c14a942\nRoot + Key:\t246d360f7c53a9021ee7d4259e3c5692f3f1f7ad4737b1ea8c7b8da741ad980b\n```\n\nSign + a new tag with `docker trust sign`:\n\n```bash\n$ docker trust sign example/trust-demo:v2\nSigning + and pushing trust metadata for example/trust-demo:v2\nThe push refers to a repository + [docker.io/example/trust-demo]\need4e566104a: Layer already exists\n77edfb6d1e3c: + Layer already exists\nc69f806905c2: Layer already exists\n582f327616f1: Layer already + exists\na3fbb648f0bd: Layer already exists\n5eac2de68a97: Layer already exists\n8d4d1ab5ff74: + Layer already exists\nv2: digest: sha256:8f6f460abf0436922df7eb06d28b3cdf733d2cac1a185456c26debbff0839c56 + size: 1787\nSigning and pushing trust metadata\nEnter passphrase for repository + key with ID 36d4c36:\nSuccessfully signed docker.io/example/trust-demo:v2\n```\n\n`docker + trust view` lists the new signature:\n\n```bash\n$ docker trust view example/trust-demo\nSIGNED + TAG DIGEST SIGNERS\nv1 + \ c24134c079c35e698060beabe110bb83ab285d0d978de7d92fed2c8c83570a41 + \ (Repo Admin)\nv2 8f6f460abf0436922df7eb06d28b3cdf733d2cac1a185456c26debbff0839c56 + \ (Repo Admin)\n\nAdministrative keys for example/trust-demo:\nRepository Key:\t36d4c3601102fa7c5712a343c03b94469e5835fb27c191b529c06fd19c14a942\nRoot + Key:\t246d360f7c53a9021ee7d4259e3c5692f3f1f7ad4737b1ea8c7b8da741ad980b\n```\n\n### + Sign a tag as a signer\n\nGiven an image:\n\n```bash\n$ docker trust view example/trust-demo\n\nNo + signatures for example/trust-demo\n\n\nList of signers and their keys for example/trust-demo:\n\nSIGNER + \ KEYS\nalice 05e87edcaecb\nbob 5600f5ab76a2\n\nAdministrative + keys for example/trust-demo:\nRepository Key:\tecc457614c9fc399da523a5f4e24fe306a0a6ee1cc79a10e4555b3c6ab02f71e\nRoot + Key:\t3cb2228f6561e58f46dbc4cda4fcaff9d5ef22e865a94636f82450d1d2234949\n```\n\nSign + a new tag with `docker trust sign`:\n\n```bash\n$ docker trust sign example/trust-demo:v1\nSigning + and pushing trust metadata for example/trust-demo:v1\nThe push refers to a repository + [docker.io/example/trust-demo]\n26b126eb8632: Layer already exists\n220d34b5f6c9: + Layer already exists\n8a5132998025: Layer already exists\naca233ed29c3: Layer already + exists\ne5d2f035d7a4: Layer already exists\nv1: digest: sha256:74d4bfa917d55d53c7df3d2ab20a8d926874d61c3da5ef6de15dd2654fc467c4 + size: 1357\nSigning and pushing trust metadata\nEnter passphrase for delegation + key with ID 27d42a8:\nSuccessfully signed docker.io/example/trust-demo:v1\n```\n\n`docker + trust view` lists the new signature:\n\n```bash\n$ docker trust view example/trust-demo\nSIGNED + TAG DIGEST SIGNERS\nv1 + \ 74d4bfa917d55d53c7df3d2ab20a8d926874d61c3da5ef6de15dd2654fc467c4 + \ alice\n\nList of signers and their keys for example/trust-demo:\n\nSIGNER KEYS\nalice + \ 05e87edcaecb\nbob 5600f5ab76a2\n\nAdministrative + keys for example/trust-demo:\nRepository Key:\tecc457614c9fc399da523a5f4e24fe306a0a6ee1cc79a10e4555b3c6ab02f71e\nRoot + Key:\t3cb2228f6561e58f46dbc4cda4fcaff9d5ef22e865a94636f82450d1d2234949\n```" +deprecated: false +experimental: false + diff --git a/_data/engine-cli/docker_trust_signer.yaml b/_data/engine-cli/docker_trust_signer.yaml new file mode 100644 index 0000000000..b8aa4aa1a9 --- /dev/null +++ b/_data/engine-cli/docker_trust_signer.yaml @@ -0,0 +1,15 @@ +command: docker trust signer +short: Manage entities who can sign Docker images (experimental) +long: Manage entities who can sign Docker images (experimental) +usage: docker trust signer +pname: docker trust +plink: docker_trust.yaml +cname: +- docker trust signer add +- docker trust signer remove +clink: +- docker_trust_signer_add.yaml +- docker_trust_signer_remove.yaml +deprecated: false +experimental: false + diff --git a/_data/engine-cli/docker_trust_signer_add.yaml b/_data/engine-cli/docker_trust_signer_add.yaml new file mode 100644 index 0000000000..489792e084 --- /dev/null +++ b/_data/engine-cli/docker_trust_signer_add.yaml @@ -0,0 +1,15 @@ +command: docker trust signer add +short: Add a signer +long: Add a signer +usage: 'docker trust signer add OPTIONS NAME REPOSITORY [REPOSITORY...] ' +pname: docker trust signer +plink: docker_trust_signer.yaml +options: +- option: key + value_type: list + description: Path to the signer's public key file + deprecated: false + experimental: false +deprecated: false +experimental: false + diff --git a/_data/engine-cli/docker_trust_signer_remove.yaml b/_data/engine-cli/docker_trust_signer_remove.yaml new file mode 100644 index 0000000000..4bc94d911c --- /dev/null +++ b/_data/engine-cli/docker_trust_signer_remove.yaml @@ -0,0 +1,18 @@ +command: docker trust signer remove +short: Remove a signer +long: Remove a signer +usage: docker trust signer remove [OPTIONS] NAME REPOSITORY [REPOSITORY...] +pname: docker trust signer +plink: docker_trust_signer.yaml +options: +- option: force + shorthand: f + value_type: bool + default_value: "false" + description: | + Do not prompt for confirmation before removing the most recent signer + deprecated: false + experimental: false +deprecated: false +experimental: false + diff --git a/_data/engine-cli/docker_trust_view.yaml b/_data/engine-cli/docker_trust_view.yaml new file mode 100644 index 0000000000..aa3e8b8b30 --- /dev/null +++ b/_data/engine-cli/docker_trust_view.yaml @@ -0,0 +1,66 @@ +command: docker trust view +short: Display detailed information about keys and signatures +long: |- + `docker trust view` provides detailed information on signed repositories. + This includes all image tags that are signed, who signed them, and who can sign + new tags. + + By default, `docker trust view` renders results in a table. + + `docker trust view` is currently experimental. +usage: docker trust view IMAGE[:TAG] +pname: docker trust +plink: docker_trust.yaml +examples: "### Get details about signatures for a single image tag\n\n\n```bash\n$ + docker trust view alpine:latest\n\nSIGNED TAG DIGEST SIGNERS\nlatest + \ 1072e499f3f655a032e88542330cf75b02e7bdf673278f701d7ba61629ee3ebe (Repo + Admin)\n\nAdministrative keys for alpine:latest:\nRepository Key:\t5a46c9aaa82ff150bb7305a2d17d0c521c2d784246807b2dc611f436a69041fd\nRoot + Key:\ta2489bcac7a79aa67b19b96c4a3bf0c675ffdf00c6d2fabe1a5df1115e80adce\n```\n\nThe + `SIGNED TAG` is the signed image tag with a unique content-addressable `DIGEST`. + `SIGNERS` lists all entities who have signed.\n\nThe administrative keys listed + specify the root key of trust, as well as the administrative repository key. These + keys are responsible for modifying signers, and rotating keys for the signed repository.\n\nIf + signers are set up for the repository via other `docker trust` commands, `docker + trust view` displays them appropriately as a `SIGNER` and specify their `KEYS`:\n\n```bash\n$ + docker trust view my-image:purple\nSIGNED TAG DIGEST SIGNERS\npurple + \ 941d3dba358621ce3c41ef67b47cf80f701ff80cdf46b5cc86587eaebfe45557 alice, + bob, carol\n\nList of signers and their keys:\n\nSIGNER KEYS\nalice + \ 47caae5b3e61, a85aab9d20a4\nbob 034370bcbd77, 82a66673242c\ncarol + \ b6f9f8e1aab0\n\nAdministrative keys for my-image:\nRepository Key:\t27df2c8187e7543345c2e0bf3a1262e0bc63a72754e9a7395eac3f747ec23a44\nRoot + Key:\t40b66ccc8b176be8c7d365a17f3e046d1c3494e053dd57cfeacfe2e19c4f8e8f\n```\n\nIf + the image tag is unsigned or unavailable, `docker trust view` does not display any + signed tags.\n\n```bash\n$ docker trust view unsigned-img\nNo signatures or cannot + access unsigned-img\n```\n\nHowever, if other tags are signed in the same image + repository, `docker trust view` reports relevant key information.\n\n```bash\n$ + docker trust view alpine:unsigned\n\nNo signatures for alpine:unsigned\n\n\nAdministrative + keys for alpine:unsigned:\nRepository Key:\t5a46c9aaa82ff150bb7305a2d17d0c521c2d784246807b2dc611f436a69041fd\nRoot + Key:\ta2489bcac7a79aa67b19b96c4a3bf0c675ffdf00c6d2fabe1a5df1115e80adce\n```\n\n### + Get details about signatures for all image tags in a repository\n\n```bash\n$ docker + trust view alpine\nSIGNED TAG DIGEST SIGNERS\n2.6 + \ 9ace551613070689a12857d62c30ef0daa9a376107ec0fff0e34786cedb3399b + \ (Repo Admin)\n2.7 9f08005dff552038f0ad2f46b8e65ff3d25641747d3912e3ea8da6785046561a + \ (Repo Admin)\n3.1 d9477888b78e8c6392e0be8b2e73f8c67e2894ff9d4b8e467d1488fcceec21c8 + \ (Repo Admin)\n3.2 19826d59171c2eb7e90ce52bfd822993bef6a6fe3ae6bb4a49f8c1d0a01e99c7 + \ (Repo Admin)\n3.3 8fd4b76819e1e5baac82bd0a3d03abfe3906e034cc5ee32100d12aaaf3956dc7 + \ (Repo Admin)\n3.4 833ad81ace8277324f3ca8c91c02bdcf1d13988d8ecf8a3f97ecdd69d0390ce9 + \ (Repo Admin)\n3.5 af2a5bd2f8de8fc1ecabf1c76611cdc6a5f1ada1a2bdd7d3816e121b70300308 + \ (Repo Admin)\n3.6 1072e499f3f655a032e88542330cf75b02e7bdf673278f701d7ba61629ee3ebe + \ (Repo Admin)\nedge 79d50d15bd7ea48ea00cf3dd343b0e740c1afaa8e899bee475236ef338e1b53b + \ (Repo Admin)\nlatest 1072e499f3f655a032e88542330cf75b02e7bdf673278f701d7ba61629ee3ebe + \ (Repo Admin)\n\nAdministrative keys for alpine:\nRepository Key:\t5a46c9aaa82ff150bb7305a2d17d0c521c2d784246807b2dc611f436a69041fd\nRoot + Key:\ta2489bcac7a79aa67b19b96c4a3bf0c675ffdf00c6d2fabe1a5df1115e80adce\n```\n\nHere's + an example with signers that are set up by `docker trust` commands:\n\n```bash\n$ + docker trust view my-image\nSIGNED TAG DIGEST SIGNERS\nred + \ 852cc04935f930a857b630edc4ed6131e91b22073bcc216698842e44f64d2943 + \ alice\nblue f1c38dbaeeb473c36716f6494d803fbfbe9d8a76916f7c0093f227821e378197 + \ alice, bob\ngreen cae8fedc840f90c8057e1c24637d11865743ab1e61a972c1c9da06ec2de9a139 + \ alice, bob\nyellow 9cc65fc3126790e683d1b92f307a71f48f75fa7dd47a7b03145a123eaf0b45ba + \ carol\npurple 941d3dba358621ce3c41ef67b47cf80f701ff80cdf46b5cc86587eaebfe45557 + \ alice, bob, carol\norange d6c271baa6d271bcc24ef1cbd65abf39123c17d2e83455bdab545a1a9093fc1c + \ alice\n\nList of signers and their keys for my-image:\n\nSIGNER KEYS\nalice + \ 47caae5b3e61, a85aab9d20a4\nbob 034370bcbd77, 82a66673242c\ncarol + \ b6f9f8e1aab0\n\nAdministrative keys for my-image:\nRepository Key:\t27df2c8187e7543345c2e0bf3a1262e0bc63a72754e9a7395eac3f747ec23a44\nRoot + Key:\t40b66ccc8b176be8c7d365a17f3e046d1c3494e053dd57cfeacfe2e19c4f8e8f\n```" +deprecated: false +experimental: false + diff --git a/_data/engine-cli/docker_unpause.yaml b/_data/engine-cli/docker_unpause.yaml index 6413eda0c1..3a23e131e2 100644 --- a/_data/engine-cli/docker_unpause.yaml +++ b/_data/engine-cli/docker_unpause.yaml @@ -13,6 +13,7 @@ plink: docker.yaml examples: |- ```bash $ docker unpause my_container + my_container ``` deprecated: false experimental: false diff --git a/_data/toc.yaml b/_data/toc.yaml index 7cac7267b3..f411ae87e4 100644 --- a/_data/toc.yaml +++ b/_data/toc.yaml @@ -847,6 +847,30 @@ reference: title: docker tag - path: /engine/reference/commandline/top/ title: docker top + - sectiontitle: docker trust * + section: + - path: /engine/reference/commandline/trust/ + title: docker trust + - path: /engine/reference/commandline/trust_inspect/ + title: docker trust inspect + - path: /engine/reference/commandline/trust_key/ + title: docker trust key + - path: /engine/reference/commandline/trust_key_generate/ + title: docker trust key generate + - path: /engine/reference/commandline/trust_key_load/ + title: docker trust key load + - path: /engine/reference/commandline/trust_revoke/ + title: docker trust revoke + - path: /engine/reference/commandline/trust_sign/ + title: docker trust sign + - path: /engine/reference/commandline/trust_signer/ + title: docker trust signer + - path: /engine/reference/commandline/trust_signer_add/ + title: docker trust signer add + - path: /engine/reference/commandline/trust_signer_remove/ + title: docker trust signer remove + - path: /engine/reference/commandline/trust_view/ + title: docker trust view - path: /engine/reference/commandline/unpause/ title: docker unpause - path: /engine/reference/commandline/update/ @@ -867,6 +891,7 @@ reference: title: docker volume rm - path: /engine/reference/commandline/wait/ title: docker wait + - sectiontitle: Edge section: - path: /edge/engine/reference/run/ @@ -1195,10 +1220,24 @@ reference: section: - path: /edge/engine/reference/commandline/trust/ title: docker trust + - path: /edge/engine/reference/commandline/trust_inspect/ + title: docker trust inspect + - path: /edge/engine/reference/commandline/trust_key/ + title: docker trust key + - path: /edge/engine/reference/commandline/trust_key_generate/ + title: docker trust key generate + - path: /edge/engine/reference/commandline/trust_key_load/ + title: docker trust key load - path: /edge/engine/reference/commandline/trust_revoke/ title: docker trust revoke - path: /edge/engine/reference/commandline/trust_sign/ title: docker trust sign + - path: /edge/engine/reference/commandline/trust_signer/ + title: docker trust signer + - path: /edge/engine/reference/commandline/trust_signer_add/ + title: docker trust signer add + - path: /edge/engine/reference/commandline/trust_signer_remove/ + title: docker trust signer remove - path: /edge/engine/reference/commandline/trust_view/ title: docker trust view - path: /edge/engine/reference/commandline/unpause/ diff --git a/edge/engine/reference/commandline/config_create.md b/edge/engine/reference/commandline/config_create.md new file mode 100644 index 0000000000..933d7c1793 --- /dev/null +++ b/edge/engine/reference/commandline/config_create.md @@ -0,0 +1,18 @@ +--- +datafolder: engine-cli-edge +datafile: docker_config_create +title: docker config create +--- + + + +{% if page.datafolder contains '-edge' %} + {% include edge_only.md section="cliref" %} +{% endif %} +{% include cli.md datafolder=page.datafolder datafile=page.datafile %} diff --git a/edge/engine/reference/commandline/config_inspect.md b/edge/engine/reference/commandline/config_inspect.md new file mode 100644 index 0000000000..bf13a1a57a --- /dev/null +++ b/edge/engine/reference/commandline/config_inspect.md @@ -0,0 +1,18 @@ +--- +datafolder: engine-cli-edge +datafile: docker_config_inspect +title: docker config inspect +--- + + + +{% if page.datafolder contains '-edge' %} + {% include edge_only.md section="cliref" %} +{% endif %} +{% include cli.md datafolder=page.datafolder datafile=page.datafile %} diff --git a/edge/engine/reference/commandline/config_ls.md b/edge/engine/reference/commandline/config_ls.md new file mode 100644 index 0000000000..6e3b84a864 --- /dev/null +++ b/edge/engine/reference/commandline/config_ls.md @@ -0,0 +1,18 @@ +--- +datafolder: engine-cli-edge +datafile: docker_config_ls +title: docker config ls +--- + + + +{% if page.datafolder contains '-edge' %} + {% include edge_only.md section="cliref" %} +{% endif %} +{% include cli.md datafolder=page.datafolder datafile=page.datafile %} diff --git a/edge/engine/reference/commandline/config_rm.md b/edge/engine/reference/commandline/config_rm.md new file mode 100644 index 0000000000..f44dbefa08 --- /dev/null +++ b/edge/engine/reference/commandline/config_rm.md @@ -0,0 +1,18 @@ +--- +datafolder: engine-cli-edge +datafile: docker_config_rm +title: docker config rm +--- + + + +{% if page.datafolder contains '-edge' %} + {% include edge_only.md section="cliref" %} +{% endif %} +{% include cli.md datafolder=page.datafolder datafile=page.datafile %} diff --git a/edge/engine/reference/commandline/swarm_ca.md b/edge/engine/reference/commandline/swarm_ca.md new file mode 100644 index 0000000000..b2a78f5336 --- /dev/null +++ b/edge/engine/reference/commandline/swarm_ca.md @@ -0,0 +1,18 @@ +--- +datafolder: engine-cli-edge +datafile: docker_swarm_ca +title: docker swarm ca +--- + + + +{% if page.datafolder contains '-edge' %} + {% include edge_only.md section="cliref" %} +{% endif %} +{% include cli.md datafolder=page.datafolder datafile=page.datafile %} diff --git a/edge/engine/reference/commandline/trust_inspect.md b/edge/engine/reference/commandline/trust_inspect.md new file mode 100644 index 0000000000..af7bb4255b --- /dev/null +++ b/edge/engine/reference/commandline/trust_inspect.md @@ -0,0 +1,18 @@ +--- +datafolder: engine-cli-edge +datafile: docker_trust_inspect +title: docker trust inspect +--- + + + +{% if page.datafolder contains '-edge' %} + {% include edge_only.md section="cliref" %} +{% endif %} +{% include cli.md datafolder=page.datafolder datafile=page.datafile %} diff --git a/engine/reference/commandline/README.md b/engine/reference/commandline/README.md index 5838bf1616..aff6f8f155 100644 --- a/engine/reference/commandline/README.md +++ b/engine/reference/commandline/README.md @@ -2,7 +2,7 @@ The files in this directory are stub files which include the file `/_includes/cli.md`, which parses YAML files generated from the -[`docker/cli`](https://github.com/docker/cli) repository. The YAML files +[`docker/docker`](https://github.com/moby/moby) repository. The YAML files are parsed into output files like [https://docs.docker.com/engine/reference/commandline/build/](https://docs.docker.com/engine/reference/commandline/build/). @@ -14,7 +14,7 @@ The output files are composed from two sources: the CLI source code in that repository. - The **Extended Description** and **Examples** sections are pulled into the - YAML from the files in [https://github.com/docker/cli/tree/master/docs/reference/commandline](https://github.com/docker/cli/tree/master/docs/reference/commandline) + YAML from the files in [https://github.com/moby/moby/tree/master/docs/reference/commandline](https://github.com/moby/moby/tree/master/docs/reference/commandline) Specifically, the Markdown inside the `## Description` and `## Examples` headings are parsed. Please submit corrections to the text in that repository. @@ -22,7 +22,7 @@ The output files are composed from two sources: The process for generating the YAML files is still in flux. Check with @thajestah or @frenchben. Be sure to generate the YAML files with the correct -branch of `moby/moby` checked out (probably not `master`). +branch of `docker/docker` checked out (probably not `master`). After generating the YAML files, replace the YAML files in [https://github.com/docker/docker.github.io/tree/master/_data/engine-cli](https://github.com/docker/docker.github.io/tree/master/_data/engine-cli) diff --git a/engine/reference/commandline/attach.md b/engine/reference/commandline/attach.md index 8d2c1d9a37..6b1076c5c8 100644 --- a/engine/reference/commandline/attach.md +++ b/engine/reference/commandline/attach.md @@ -8,9 +8,11 @@ Sorry, but the contents of this page are automatically generated from Docker's source code. If you want to suggest a change to the text that appears here, you'll need to find the string by searching this repo: -https://www.github.com/docker/cli +https://github.com/docker/cli --> + {% if page.datafolder contains '-edge' %} {% include edge_only.md section="cliref" %} {% endif %} + {% include cli.md datafolder=page.datafolder datafile=page.datafile %} diff --git a/engine/reference/commandline/build.md b/engine/reference/commandline/build.md index 3199e25f3a..b1b71c7cdc 100644 --- a/engine/reference/commandline/build.md +++ b/engine/reference/commandline/build.md @@ -8,7 +8,7 @@ Sorry, but the contents of this page are automatically generated from Docker's source code. If you want to suggest a change to the text that appears here, you'll need to find the string by searching this repo: -https://www.github.com/docker/cli +https://github.com/docker/cli --> {% if page.datafolder contains '-edge' %} {% include edge_only.md section="cliref" %} diff --git a/engine/reference/commandline/checkpoint.md b/engine/reference/commandline/checkpoint.md index f0dca8a39a..2b22f68a31 100644 --- a/engine/reference/commandline/checkpoint.md +++ b/engine/reference/commandline/checkpoint.md @@ -8,7 +8,7 @@ Sorry, but the contents of this page are automatically generated from Docker's source code. If you want to suggest a change to the text that appears here, you'll need to find the string by searching this repo: -https://www.github.com/docker/cli +https://github.com/docker/cli --> {% if page.datafolder contains '-edge' %} {% include edge_only.md section="cliref" %} diff --git a/engine/reference/commandline/checkpoint_create.md b/engine/reference/commandline/checkpoint_create.md index 088bd209c2..465c8752e1 100644 --- a/engine/reference/commandline/checkpoint_create.md +++ b/engine/reference/commandline/checkpoint_create.md @@ -8,7 +8,7 @@ Sorry, but the contents of this page are automatically generated from Docker's source code. If you want to suggest a change to the text that appears here, you'll need to find the string by searching this repo: -https://www.github.com/docker/cli +https://github.com/docker/cli --> {% if page.datafolder contains '-edge' %} {% include edge_only.md section="cliref" %} diff --git a/engine/reference/commandline/checkpoint_ls.md b/engine/reference/commandline/checkpoint_ls.md index aa80e47b06..803668d2bd 100644 --- a/engine/reference/commandline/checkpoint_ls.md +++ b/engine/reference/commandline/checkpoint_ls.md @@ -8,7 +8,7 @@ Sorry, but the contents of this page are automatically generated from Docker's source code. If you want to suggest a change to the text that appears here, you'll need to find the string by searching this repo: -https://www.github.com/docker/cli +https://github.com/docker/cli --> {% if page.datafolder contains '-edge' %} {% include edge_only.md section="cliref" %} diff --git a/engine/reference/commandline/checkpoint_rm.md b/engine/reference/commandline/checkpoint_rm.md index 1c9b0bec2d..7edbaa5fde 100644 --- a/engine/reference/commandline/checkpoint_rm.md +++ b/engine/reference/commandline/checkpoint_rm.md @@ -8,7 +8,7 @@ Sorry, but the contents of this page are automatically generated from Docker's source code. If you want to suggest a change to the text that appears here, you'll need to find the string by searching this repo: -https://www.github.com/docker/cli +https://github.com/docker/cli --> {% if page.datafolder contains '-edge' %} {% include edge_only.md section="cliref" %} diff --git a/engine/reference/commandline/commit.md b/engine/reference/commandline/commit.md index b5a663dbf5..bf4d879b36 100644 --- a/engine/reference/commandline/commit.md +++ b/engine/reference/commandline/commit.md @@ -8,7 +8,7 @@ Sorry, but the contents of this page are automatically generated from Docker's source code. If you want to suggest a change to the text that appears here, you'll need to find the string by searching this repo: -https://www.github.com/docker/cli +https://github.com/docker/cli --> {% if page.datafolder contains '-edge' %} {% include edge_only.md section="cliref" %} diff --git a/engine/reference/commandline/config.md b/engine/reference/commandline/config.md index 5013e656af..d9794c6616 100644 --- a/engine/reference/commandline/config.md +++ b/engine/reference/commandline/config.md @@ -19,4 +19,4 @@ https://www.github.com/docker/cli ## More info -[Store configuration data using Docker Configs](/engine/swarm/configs.md) \ No newline at end of file +[Store configuration data using Docker Configs](/engine/swarm/configs.md) diff --git a/engine/reference/commandline/config_create.md b/engine/reference/commandline/config_create.md index 14dddcbbb1..1d3963e325 100644 --- a/engine/reference/commandline/config_create.md +++ b/engine/reference/commandline/config_create.md @@ -9,7 +9,7 @@ Sorry, but the contents of this page are automatically generated from Docker's source code. If you want to suggest a change to the text that appears here, you'll need to find the string by searching this repo: -https://www.github.com/docker/cli +https://github.com/docker/cli --> {% if page.datafolder contains '-edge' %} diff --git a/engine/reference/commandline/config_inspect.md b/engine/reference/commandline/config_inspect.md index 82162f60e3..a9da060913 100644 --- a/engine/reference/commandline/config_inspect.md +++ b/engine/reference/commandline/config_inspect.md @@ -9,7 +9,7 @@ Sorry, but the contents of this page are automatically generated from Docker's source code. If you want to suggest a change to the text that appears here, you'll need to find the string by searching this repo: -https://www.github.com/docker/cli +https://github.com/docker/cli --> {% if page.datafolder contains '-edge' %} diff --git a/engine/reference/commandline/config_ls.md b/engine/reference/commandline/config_ls.md index 7f2448c3e3..33eb764c99 100644 --- a/engine/reference/commandline/config_ls.md +++ b/engine/reference/commandline/config_ls.md @@ -9,7 +9,7 @@ Sorry, but the contents of this page are automatically generated from Docker's source code. If you want to suggest a change to the text that appears here, you'll need to find the string by searching this repo: -https://www.github.com/docker/cli +https://github.com/docker/cli --> {% if page.datafolder contains '-edge' %} diff --git a/engine/reference/commandline/config_rm.md b/engine/reference/commandline/config_rm.md index ee0a19717b..420e4decca 100644 --- a/engine/reference/commandline/config_rm.md +++ b/engine/reference/commandline/config_rm.md @@ -9,7 +9,7 @@ Sorry, but the contents of this page are automatically generated from Docker's source code. If you want to suggest a change to the text that appears here, you'll need to find the string by searching this repo: -https://www.github.com/docker/cli +https://github.com/docker/cli --> {% if page.datafolder contains '-edge' %} diff --git a/engine/reference/commandline/container.md b/engine/reference/commandline/container.md index d89985ab92..5ca93b1e7c 100644 --- a/engine/reference/commandline/container.md +++ b/engine/reference/commandline/container.md @@ -9,7 +9,7 @@ Sorry, but the contents of this page are automatically generated from Docker's source code. If you want to suggest a change to the text that appears here, you'll need to find the string by searching this repo: -https://www.github.com/docker/cli +https://github.com/docker/cli --> {% if page.datafolder contains '-edge' %} diff --git a/engine/reference/commandline/container_attach.md b/engine/reference/commandline/container_attach.md index e3c167528c..8020f15721 100644 --- a/engine/reference/commandline/container_attach.md +++ b/engine/reference/commandline/container_attach.md @@ -9,7 +9,7 @@ Sorry, but the contents of this page are automatically generated from Docker's source code. If you want to suggest a change to the text that appears here, you'll need to find the string by searching this repo: -https://www.github.com/docker/cli +https://github.com/docker/cli --> {% if page.datafolder contains '-edge' %} diff --git a/engine/reference/commandline/container_commit.md b/engine/reference/commandline/container_commit.md index c36ed09836..fb56423bdf 100644 --- a/engine/reference/commandline/container_commit.md +++ b/engine/reference/commandline/container_commit.md @@ -9,7 +9,7 @@ Sorry, but the contents of this page are automatically generated from Docker's source code. If you want to suggest a change to the text that appears here, you'll need to find the string by searching this repo: -https://www.github.com/docker/cli +https://github.com/docker/cli --> {% if page.datafolder contains '-edge' %} diff --git a/engine/reference/commandline/container_cp.md b/engine/reference/commandline/container_cp.md index 7edaf55082..8a1a8c102d 100644 --- a/engine/reference/commandline/container_cp.md +++ b/engine/reference/commandline/container_cp.md @@ -9,7 +9,7 @@ Sorry, but the contents of this page are automatically generated from Docker's source code. If you want to suggest a change to the text that appears here, you'll need to find the string by searching this repo: -https://www.github.com/docker/cli +https://github.com/docker/cli --> {% if page.datafolder contains '-edge' %} diff --git a/engine/reference/commandline/container_create.md b/engine/reference/commandline/container_create.md index 761466d070..15da683f4a 100644 --- a/engine/reference/commandline/container_create.md +++ b/engine/reference/commandline/container_create.md @@ -9,7 +9,7 @@ Sorry, but the contents of this page are automatically generated from Docker's source code. If you want to suggest a change to the text that appears here, you'll need to find the string by searching this repo: -https://www.github.com/docker/cli +https://github.com/docker/cli --> {% if page.datafolder contains '-edge' %} diff --git a/engine/reference/commandline/container_diff.md b/engine/reference/commandline/container_diff.md index 38987c7179..ec5a5d4c9c 100644 --- a/engine/reference/commandline/container_diff.md +++ b/engine/reference/commandline/container_diff.md @@ -9,7 +9,7 @@ Sorry, but the contents of this page are automatically generated from Docker's source code. If you want to suggest a change to the text that appears here, you'll need to find the string by searching this repo: -https://www.github.com/docker/cli +https://github.com/docker/cli --> {% if page.datafolder contains '-edge' %} diff --git a/engine/reference/commandline/container_exec.md b/engine/reference/commandline/container_exec.md index b8fef88697..b147e67e47 100644 --- a/engine/reference/commandline/container_exec.md +++ b/engine/reference/commandline/container_exec.md @@ -9,7 +9,7 @@ Sorry, but the contents of this page are automatically generated from Docker's source code. If you want to suggest a change to the text that appears here, you'll need to find the string by searching this repo: -https://www.github.com/docker/cli +https://github.com/docker/cli --> {% if page.datafolder contains '-edge' %} diff --git a/engine/reference/commandline/container_export.md b/engine/reference/commandline/container_export.md index a709a59b6c..12eba3504e 100644 --- a/engine/reference/commandline/container_export.md +++ b/engine/reference/commandline/container_export.md @@ -9,7 +9,7 @@ Sorry, but the contents of this page are automatically generated from Docker's source code. If you want to suggest a change to the text that appears here, you'll need to find the string by searching this repo: -https://www.github.com/docker/cli +https://github.com/docker/cli --> {% if page.datafolder contains '-edge' %} diff --git a/engine/reference/commandline/container_inspect.md b/engine/reference/commandline/container_inspect.md index 46802c8e07..f55e2d11b6 100644 --- a/engine/reference/commandline/container_inspect.md +++ b/engine/reference/commandline/container_inspect.md @@ -9,7 +9,7 @@ Sorry, but the contents of this page are automatically generated from Docker's source code. If you want to suggest a change to the text that appears here, you'll need to find the string by searching this repo: -https://www.github.com/docker/cli +https://github.com/docker/cli --> {% if page.datafolder contains '-edge' %} diff --git a/engine/reference/commandline/container_kill.md b/engine/reference/commandline/container_kill.md index 74064d4c32..f06495404d 100644 --- a/engine/reference/commandline/container_kill.md +++ b/engine/reference/commandline/container_kill.md @@ -9,7 +9,7 @@ Sorry, but the contents of this page are automatically generated from Docker's source code. If you want to suggest a change to the text that appears here, you'll need to find the string by searching this repo: -https://www.github.com/docker/cli +https://github.com/docker/cli --> {% if page.datafolder contains '-edge' %} diff --git a/engine/reference/commandline/container_logs.md b/engine/reference/commandline/container_logs.md index 3f62c49478..f9e27e89b9 100644 --- a/engine/reference/commandline/container_logs.md +++ b/engine/reference/commandline/container_logs.md @@ -9,7 +9,7 @@ Sorry, but the contents of this page are automatically generated from Docker's source code. If you want to suggest a change to the text that appears here, you'll need to find the string by searching this repo: -https://www.github.com/docker/cli +https://github.com/docker/cli --> {% if page.datafolder contains '-edge' %} diff --git a/engine/reference/commandline/container_ls.md b/engine/reference/commandline/container_ls.md index ab624a8620..ab144762ef 100644 --- a/engine/reference/commandline/container_ls.md +++ b/engine/reference/commandline/container_ls.md @@ -9,7 +9,7 @@ Sorry, but the contents of this page are automatically generated from Docker's source code. If you want to suggest a change to the text that appears here, you'll need to find the string by searching this repo: -https://www.github.com/docker/cli +https://github.com/docker/cli --> {% if page.datafolder contains '-edge' %} diff --git a/engine/reference/commandline/container_pause.md b/engine/reference/commandline/container_pause.md index 76a2fbc664..86451a95e4 100644 --- a/engine/reference/commandline/container_pause.md +++ b/engine/reference/commandline/container_pause.md @@ -9,7 +9,7 @@ Sorry, but the contents of this page are automatically generated from Docker's source code. If you want to suggest a change to the text that appears here, you'll need to find the string by searching this repo: -https://www.github.com/docker/cli +https://github.com/docker/cli --> {% if page.datafolder contains '-edge' %} diff --git a/engine/reference/commandline/container_port.md b/engine/reference/commandline/container_port.md index 475dbdba35..61e841bed4 100644 --- a/engine/reference/commandline/container_port.md +++ b/engine/reference/commandline/container_port.md @@ -9,7 +9,7 @@ Sorry, but the contents of this page are automatically generated from Docker's source code. If you want to suggest a change to the text that appears here, you'll need to find the string by searching this repo: -https://www.github.com/docker/cli +https://github.com/docker/cli --> {% if page.datafolder contains '-edge' %} diff --git a/engine/reference/commandline/container_prune.md b/engine/reference/commandline/container_prune.md index 3972e61413..14c65b7eab 100644 --- a/engine/reference/commandline/container_prune.md +++ b/engine/reference/commandline/container_prune.md @@ -9,7 +9,7 @@ Sorry, but the contents of this page are automatically generated from Docker's source code. If you want to suggest a change to the text that appears here, you'll need to find the string by searching this repo: -https://www.github.com/docker/cli +https://github.com/docker/cli --> {% if page.datafolder contains '-edge' %} diff --git a/engine/reference/commandline/container_rename.md b/engine/reference/commandline/container_rename.md index 9432bc1914..1b6bf6069b 100644 --- a/engine/reference/commandline/container_rename.md +++ b/engine/reference/commandline/container_rename.md @@ -9,7 +9,7 @@ Sorry, but the contents of this page are automatically generated from Docker's source code. If you want to suggest a change to the text that appears here, you'll need to find the string by searching this repo: -https://www.github.com/docker/cli +https://github.com/docker/cli --> {% if page.datafolder contains '-edge' %} diff --git a/engine/reference/commandline/container_restart.md b/engine/reference/commandline/container_restart.md index 9badff734a..1974b98820 100644 --- a/engine/reference/commandline/container_restart.md +++ b/engine/reference/commandline/container_restart.md @@ -9,7 +9,7 @@ Sorry, but the contents of this page are automatically generated from Docker's source code. If you want to suggest a change to the text that appears here, you'll need to find the string by searching this repo: -https://www.github.com/docker/cli +https://github.com/docker/cli --> {% if page.datafolder contains '-edge' %} diff --git a/engine/reference/commandline/container_rm.md b/engine/reference/commandline/container_rm.md index 945a8e1884..ba46e5bbbb 100644 --- a/engine/reference/commandline/container_rm.md +++ b/engine/reference/commandline/container_rm.md @@ -9,7 +9,7 @@ Sorry, but the contents of this page are automatically generated from Docker's source code. If you want to suggest a change to the text that appears here, you'll need to find the string by searching this repo: -https://www.github.com/docker/cli +https://github.com/docker/cli --> {% if page.datafolder contains '-edge' %} diff --git a/engine/reference/commandline/container_run.md b/engine/reference/commandline/container_run.md index 3fb2e77398..c48003fb6f 100644 --- a/engine/reference/commandline/container_run.md +++ b/engine/reference/commandline/container_run.md @@ -9,7 +9,7 @@ Sorry, but the contents of this page are automatically generated from Docker's source code. If you want to suggest a change to the text that appears here, you'll need to find the string by searching this repo: -https://www.github.com/docker/cli +https://github.com/docker/cli --> {% if page.datafolder contains '-edge' %} diff --git a/engine/reference/commandline/container_start.md b/engine/reference/commandline/container_start.md index 06a7cc234a..ffcbbc6005 100644 --- a/engine/reference/commandline/container_start.md +++ b/engine/reference/commandline/container_start.md @@ -9,7 +9,7 @@ Sorry, but the contents of this page are automatically generated from Docker's source code. If you want to suggest a change to the text that appears here, you'll need to find the string by searching this repo: -https://www.github.com/docker/cli +https://github.com/docker/cli --> {% if page.datafolder contains '-edge' %} diff --git a/engine/reference/commandline/container_stats.md b/engine/reference/commandline/container_stats.md index ad4c47ffb6..5fe93e0069 100644 --- a/engine/reference/commandline/container_stats.md +++ b/engine/reference/commandline/container_stats.md @@ -9,7 +9,7 @@ Sorry, but the contents of this page are automatically generated from Docker's source code. If you want to suggest a change to the text that appears here, you'll need to find the string by searching this repo: -https://www.github.com/docker/cli +https://github.com/docker/cli --> {% if page.datafolder contains '-edge' %} diff --git a/engine/reference/commandline/container_stop.md b/engine/reference/commandline/container_stop.md index f9a82ab164..30c51e181e 100644 --- a/engine/reference/commandline/container_stop.md +++ b/engine/reference/commandline/container_stop.md @@ -9,7 +9,7 @@ Sorry, but the contents of this page are automatically generated from Docker's source code. If you want to suggest a change to the text that appears here, you'll need to find the string by searching this repo: -https://www.github.com/docker/cli +https://github.com/docker/cli --> {% if page.datafolder contains '-edge' %} diff --git a/engine/reference/commandline/container_top.md b/engine/reference/commandline/container_top.md index 342cb6e952..3e892b85ce 100644 --- a/engine/reference/commandline/container_top.md +++ b/engine/reference/commandline/container_top.md @@ -9,7 +9,7 @@ Sorry, but the contents of this page are automatically generated from Docker's source code. If you want to suggest a change to the text that appears here, you'll need to find the string by searching this repo: -https://www.github.com/docker/cli +https://github.com/docker/cli --> {% if page.datafolder contains '-edge' %} diff --git a/engine/reference/commandline/container_unpause.md b/engine/reference/commandline/container_unpause.md index 310a142b5a..b3433167a8 100644 --- a/engine/reference/commandline/container_unpause.md +++ b/engine/reference/commandline/container_unpause.md @@ -9,7 +9,7 @@ Sorry, but the contents of this page are automatically generated from Docker's source code. If you want to suggest a change to the text that appears here, you'll need to find the string by searching this repo: -https://www.github.com/docker/cli +https://github.com/docker/cli --> {% if page.datafolder contains '-edge' %} diff --git a/engine/reference/commandline/container_update.md b/engine/reference/commandline/container_update.md index 5415a77af5..4a1adb38ad 100644 --- a/engine/reference/commandline/container_update.md +++ b/engine/reference/commandline/container_update.md @@ -9,7 +9,7 @@ Sorry, but the contents of this page are automatically generated from Docker's source code. If you want to suggest a change to the text that appears here, you'll need to find the string by searching this repo: -https://www.github.com/docker/cli +https://github.com/docker/cli --> {% if page.datafolder contains '-edge' %} diff --git a/engine/reference/commandline/container_wait.md b/engine/reference/commandline/container_wait.md index fa2b97468b..8a04fdb86f 100644 --- a/engine/reference/commandline/container_wait.md +++ b/engine/reference/commandline/container_wait.md @@ -9,7 +9,7 @@ Sorry, but the contents of this page are automatically generated from Docker's source code. If you want to suggest a change to the text that appears here, you'll need to find the string by searching this repo: -https://www.github.com/docker/cli +https://github.com/docker/cli --> {% if page.datafolder contains '-edge' %} diff --git a/engine/reference/commandline/cp.md b/engine/reference/commandline/cp.md index 8bacc523f3..24fe321de0 100644 --- a/engine/reference/commandline/cp.md +++ b/engine/reference/commandline/cp.md @@ -8,7 +8,7 @@ Sorry, but the contents of this page are automatically generated from Docker's source code. If you want to suggest a change to the text that appears here, you'll need to find the string by searching this repo: -https://www.github.com/docker/cli +https://github.com/docker/cli --> {% if page.datafolder contains '-edge' %} {% include edge_only.md section="cliref" %} diff --git a/engine/reference/commandline/create.md b/engine/reference/commandline/create.md index 0c8c053b9b..44264fd7bd 100644 --- a/engine/reference/commandline/create.md +++ b/engine/reference/commandline/create.md @@ -8,7 +8,7 @@ Sorry, but the contents of this page are automatically generated from Docker's source code. If you want to suggest a change to the text that appears here, you'll need to find the string by searching this repo: -https://www.github.com/docker/cli +https://github.com/docker/cli --> {% if page.datafolder contains '-edge' %} {% include edge_only.md section="cliref" %} diff --git a/engine/reference/commandline/deploy.md b/engine/reference/commandline/deploy.md index 89ec755ccc..e146686b0c 100644 --- a/engine/reference/commandline/deploy.md +++ b/engine/reference/commandline/deploy.md @@ -8,7 +8,7 @@ Sorry, but the contents of this page are automatically generated from Docker's source code. If you want to suggest a change to the text that appears here, you'll need to find the string by searching this repo: -https://www.github.com/docker/cli +https://github.com/docker/cli --> {% if page.datafolder contains '-edge' %} {% include edge_only.md section="cliref" %} diff --git a/engine/reference/commandline/diff.md b/engine/reference/commandline/diff.md index 38891e316a..f16c3b9b40 100644 --- a/engine/reference/commandline/diff.md +++ b/engine/reference/commandline/diff.md @@ -8,7 +8,7 @@ Sorry, but the contents of this page are automatically generated from Docker's source code. If you want to suggest a change to the text that appears here, you'll need to find the string by searching this repo: -https://www.github.com/docker/cli +https://github.com/docker/cli --> {% if page.datafolder contains '-edge' %} {% include edge_only.md section="cliref" %} diff --git a/engine/reference/commandline/docker.md b/engine/reference/commandline/docker.md index 136b08cad7..34c6098340 100644 --- a/engine/reference/commandline/docker.md +++ b/engine/reference/commandline/docker.md @@ -11,7 +11,7 @@ Sorry, but the contents of this page are automatically generated from Docker's source code. If you want to suggest a change to the text that appears here, you'll need to find the string by searching this repo: -https://www.github.com/docker/cli +https://github.com/docker/cli --> {% if page.datafolder contains '-edge' %} diff --git a/engine/reference/commandline/events.md b/engine/reference/commandline/events.md index 9c73b7ddfd..20d5110873 100644 --- a/engine/reference/commandline/events.md +++ b/engine/reference/commandline/events.md @@ -8,7 +8,7 @@ Sorry, but the contents of this page are automatically generated from Docker's source code. If you want to suggest a change to the text that appears here, you'll need to find the string by searching this repo: -https://www.github.com/docker/cli +https://github.com/docker/cli --> {% if page.datafolder contains '-edge' %} {% include edge_only.md section="cliref" %} diff --git a/engine/reference/commandline/exec.md b/engine/reference/commandline/exec.md index 64749827d6..61c9cfc52b 100644 --- a/engine/reference/commandline/exec.md +++ b/engine/reference/commandline/exec.md @@ -8,7 +8,7 @@ Sorry, but the contents of this page are automatically generated from Docker's source code. If you want to suggest a change to the text that appears here, you'll need to find the string by searching this repo: -https://www.github.com/docker/cli +https://github.com/docker/cli --> {% if page.datafolder contains '-edge' %} {% include edge_only.md section="cliref" %} diff --git a/engine/reference/commandline/export.md b/engine/reference/commandline/export.md index f2fcfaf3e4..de3478e6e3 100644 --- a/engine/reference/commandline/export.md +++ b/engine/reference/commandline/export.md @@ -8,7 +8,7 @@ Sorry, but the contents of this page are automatically generated from Docker's source code. If you want to suggest a change to the text that appears here, you'll need to find the string by searching this repo: -https://www.github.com/docker/cli +https://github.com/docker/cli --> {% if page.datafolder contains '-edge' %} {% include edge_only.md section="cliref" %} diff --git a/engine/reference/commandline/history.md b/engine/reference/commandline/history.md index 73da706a3d..b6ee3d2ab0 100644 --- a/engine/reference/commandline/history.md +++ b/engine/reference/commandline/history.md @@ -8,7 +8,7 @@ Sorry, but the contents of this page are automatically generated from Docker's source code. If you want to suggest a change to the text that appears here, you'll need to find the string by searching this repo: -https://www.github.com/docker/cli +https://github.com/docker/cli --> {% if page.datafolder contains '-edge' %} {% include edge_only.md section="cliref" %} diff --git a/engine/reference/commandline/image.md b/engine/reference/commandline/image.md index 038448ea8d..c74bc2277c 100644 --- a/engine/reference/commandline/image.md +++ b/engine/reference/commandline/image.md @@ -9,7 +9,7 @@ Sorry, but the contents of this page are automatically generated from Docker's source code. If you want to suggest a change to the text that appears here, you'll need to find the string by searching this repo: -https://www.github.com/docker/cli +https://github.com/docker/cli --> {% if page.datafolder contains '-edge' %} diff --git a/engine/reference/commandline/image_build.md b/engine/reference/commandline/image_build.md index c50ac1b0dd..ca8f518357 100644 --- a/engine/reference/commandline/image_build.md +++ b/engine/reference/commandline/image_build.md @@ -9,7 +9,7 @@ Sorry, but the contents of this page are automatically generated from Docker's source code. If you want to suggest a change to the text that appears here, you'll need to find the string by searching this repo: -https://www.github.com/docker/cli +https://github.com/docker/cli --> {% if page.datafolder contains '-edge' %} diff --git a/engine/reference/commandline/image_history.md b/engine/reference/commandline/image_history.md index b8aa68108f..26d683d097 100644 --- a/engine/reference/commandline/image_history.md +++ b/engine/reference/commandline/image_history.md @@ -9,7 +9,7 @@ Sorry, but the contents of this page are automatically generated from Docker's source code. If you want to suggest a change to the text that appears here, you'll need to find the string by searching this repo: -https://www.github.com/docker/cli +https://github.com/docker/cli --> {% if page.datafolder contains '-edge' %} diff --git a/engine/reference/commandline/image_import.md b/engine/reference/commandline/image_import.md index 1ee08bf5d2..9df7e69c0a 100644 --- a/engine/reference/commandline/image_import.md +++ b/engine/reference/commandline/image_import.md @@ -9,7 +9,7 @@ Sorry, but the contents of this page are automatically generated from Docker's source code. If you want to suggest a change to the text that appears here, you'll need to find the string by searching this repo: -https://www.github.com/docker/cli +https://github.com/docker/cli --> {% if page.datafolder contains '-edge' %} diff --git a/engine/reference/commandline/image_inspect.md b/engine/reference/commandline/image_inspect.md index 28d7f76c54..e22e0f4586 100644 --- a/engine/reference/commandline/image_inspect.md +++ b/engine/reference/commandline/image_inspect.md @@ -9,7 +9,7 @@ Sorry, but the contents of this page are automatically generated from Docker's source code. If you want to suggest a change to the text that appears here, you'll need to find the string by searching this repo: -https://www.github.com/docker/cli +https://github.com/docker/cli --> {% if page.datafolder contains '-edge' %} diff --git a/engine/reference/commandline/image_load.md b/engine/reference/commandline/image_load.md index 19bca96544..e0ba9e31f2 100644 --- a/engine/reference/commandline/image_load.md +++ b/engine/reference/commandline/image_load.md @@ -9,7 +9,7 @@ Sorry, but the contents of this page are automatically generated from Docker's source code. If you want to suggest a change to the text that appears here, you'll need to find the string by searching this repo: -https://www.github.com/docker/cli +https://github.com/docker/cli --> {% if page.datafolder contains '-edge' %} diff --git a/engine/reference/commandline/image_ls.md b/engine/reference/commandline/image_ls.md index 169f26b2ac..8b1b077dba 100644 --- a/engine/reference/commandline/image_ls.md +++ b/engine/reference/commandline/image_ls.md @@ -9,7 +9,7 @@ Sorry, but the contents of this page are automatically generated from Docker's source code. If you want to suggest a change to the text that appears here, you'll need to find the string by searching this repo: -https://www.github.com/docker/cli +https://github.com/docker/cli --> {% if page.datafolder contains '-edge' %} diff --git a/engine/reference/commandline/image_prune.md b/engine/reference/commandline/image_prune.md index 0ed8eadd36..50906dd4a1 100644 --- a/engine/reference/commandline/image_prune.md +++ b/engine/reference/commandline/image_prune.md @@ -9,7 +9,7 @@ Sorry, but the contents of this page are automatically generated from Docker's source code. If you want to suggest a change to the text that appears here, you'll need to find the string by searching this repo: -https://www.github.com/docker/cli +https://github.com/docker/cli --> {% if page.datafolder contains '-edge' %} diff --git a/engine/reference/commandline/image_pull.md b/engine/reference/commandline/image_pull.md index e596f3e0e5..5c4a04ced0 100644 --- a/engine/reference/commandline/image_pull.md +++ b/engine/reference/commandline/image_pull.md @@ -9,7 +9,7 @@ Sorry, but the contents of this page are automatically generated from Docker's source code. If you want to suggest a change to the text that appears here, you'll need to find the string by searching this repo: -https://www.github.com/docker/cli +https://github.com/docker/cli --> {% if page.datafolder contains '-edge' %} diff --git a/engine/reference/commandline/image_push.md b/engine/reference/commandline/image_push.md index bc3869c1df..29986debe6 100644 --- a/engine/reference/commandline/image_push.md +++ b/engine/reference/commandline/image_push.md @@ -9,7 +9,7 @@ Sorry, but the contents of this page are automatically generated from Docker's source code. If you want to suggest a change to the text that appears here, you'll need to find the string by searching this repo: -https://www.github.com/docker/cli +https://github.com/docker/cli --> {% if page.datafolder contains '-edge' %} diff --git a/engine/reference/commandline/image_rm.md b/engine/reference/commandline/image_rm.md index c0f8970245..a5ddbe4089 100644 --- a/engine/reference/commandline/image_rm.md +++ b/engine/reference/commandline/image_rm.md @@ -9,7 +9,7 @@ Sorry, but the contents of this page are automatically generated from Docker's source code. If you want to suggest a change to the text that appears here, you'll need to find the string by searching this repo: -https://www.github.com/docker/cli +https://github.com/docker/cli --> {% if page.datafolder contains '-edge' %} diff --git a/engine/reference/commandline/image_save.md b/engine/reference/commandline/image_save.md index 5e6f233b96..aac3202f69 100644 --- a/engine/reference/commandline/image_save.md +++ b/engine/reference/commandline/image_save.md @@ -9,7 +9,7 @@ Sorry, but the contents of this page are automatically generated from Docker's source code. If you want to suggest a change to the text that appears here, you'll need to find the string by searching this repo: -https://www.github.com/docker/cli +https://github.com/docker/cli --> {% if page.datafolder contains '-edge' %} diff --git a/engine/reference/commandline/image_tag.md b/engine/reference/commandline/image_tag.md index abf70fc950..620dcddf5c 100644 --- a/engine/reference/commandline/image_tag.md +++ b/engine/reference/commandline/image_tag.md @@ -9,7 +9,7 @@ Sorry, but the contents of this page are automatically generated from Docker's source code. If you want to suggest a change to the text that appears here, you'll need to find the string by searching this repo: -https://www.github.com/docker/cli +https://github.com/docker/cli --> {% if page.datafolder contains '-edge' %} diff --git a/engine/reference/commandline/images.md b/engine/reference/commandline/images.md index 42bb1677d0..c697167639 100644 --- a/engine/reference/commandline/images.md +++ b/engine/reference/commandline/images.md @@ -8,7 +8,7 @@ Sorry, but the contents of this page are automatically generated from Docker's source code. If you want to suggest a change to the text that appears here, you'll need to find the string by searching this repo: -https://www.github.com/docker/cli +https://github.com/docker/cli --> {% if page.datafolder contains '-edge' %} {% include edge_only.md section="cliref" %} diff --git a/engine/reference/commandline/import.md b/engine/reference/commandline/import.md index 0f485c2415..505b847153 100644 --- a/engine/reference/commandline/import.md +++ b/engine/reference/commandline/import.md @@ -8,7 +8,7 @@ Sorry, but the contents of this page are automatically generated from Docker's source code. If you want to suggest a change to the text that appears here, you'll need to find the string by searching this repo: -https://www.github.com/docker/cli +https://github.com/docker/cli --> {% if page.datafolder contains '-edge' %} {% include edge_only.md section="cliref" %} diff --git a/engine/reference/commandline/inspect.md b/engine/reference/commandline/inspect.md index c3413496ef..5a795764bf 100644 --- a/engine/reference/commandline/inspect.md +++ b/engine/reference/commandline/inspect.md @@ -8,7 +8,7 @@ Sorry, but the contents of this page are automatically generated from Docker's source code. If you want to suggest a change to the text that appears here, you'll need to find the string by searching this repo: -https://www.github.com/docker/cli +https://github.com/docker/cli --> {% if page.datafolder contains '-edge' %} {% include edge_only.md section="cliref" %} diff --git a/engine/reference/commandline/kill.md b/engine/reference/commandline/kill.md index 57684dcbb8..756a13b2a0 100644 --- a/engine/reference/commandline/kill.md +++ b/engine/reference/commandline/kill.md @@ -8,7 +8,7 @@ Sorry, but the contents of this page are automatically generated from Docker's source code. If you want to suggest a change to the text that appears here, you'll need to find the string by searching this repo: -https://www.github.com/docker/cli +https://github.com/docker/cli --> {% if page.datafolder contains '-edge' %} {% include edge_only.md section="cliref" %} diff --git a/engine/reference/commandline/load.md b/engine/reference/commandline/load.md index 722d700fb4..df9a37be43 100644 --- a/engine/reference/commandline/load.md +++ b/engine/reference/commandline/load.md @@ -8,7 +8,7 @@ Sorry, but the contents of this page are automatically generated from Docker's source code. If you want to suggest a change to the text that appears here, you'll need to find the string by searching this repo: -https://www.github.com/docker/cli +https://github.com/docker/cli --> {% if page.datafolder contains '-edge' %} {% include edge_only.md section="cliref" %} diff --git a/engine/reference/commandline/login.md b/engine/reference/commandline/login.md index 2e19d46981..062b1cd605 100644 --- a/engine/reference/commandline/login.md +++ b/engine/reference/commandline/login.md @@ -8,7 +8,7 @@ Sorry, but the contents of this page are automatically generated from Docker's source code. If you want to suggest a change to the text that appears here, you'll need to find the string by searching this repo: -https://www.github.com/docker/cli +https://github.com/docker/cli --> {% if page.datafolder contains '-edge' %} {% include edge_only.md section="cliref" %} diff --git a/engine/reference/commandline/logout.md b/engine/reference/commandline/logout.md index 55295c3b38..15b29f00a8 100644 --- a/engine/reference/commandline/logout.md +++ b/engine/reference/commandline/logout.md @@ -8,7 +8,7 @@ Sorry, but the contents of this page are automatically generated from Docker's source code. If you want to suggest a change to the text that appears here, you'll need to find the string by searching this repo: -https://www.github.com/docker/cli +https://github.com/docker/cli --> {% if page.datafolder contains '-edge' %} {% include edge_only.md section="cliref" %} diff --git a/engine/reference/commandline/logs.md b/engine/reference/commandline/logs.md index f4cfea5d88..e56721e6c3 100644 --- a/engine/reference/commandline/logs.md +++ b/engine/reference/commandline/logs.md @@ -8,7 +8,7 @@ Sorry, but the contents of this page are automatically generated from Docker's source code. If you want to suggest a change to the text that appears here, you'll need to find the string by searching this repo: -https://www.github.com/docker/cli +https://github.com/docker/cli --> {% if page.datafolder contains '-edge' %} {% include edge_only.md section="cliref" %} diff --git a/engine/reference/commandline/network.md b/engine/reference/commandline/network.md index 8a91146626..5e6fabf23e 100644 --- a/engine/reference/commandline/network.md +++ b/engine/reference/commandline/network.md @@ -8,7 +8,7 @@ Sorry, but the contents of this page are automatically generated from Docker's source code. If you want to suggest a change to the text that appears here, you'll need to find the string by searching this repo: -https://www.github.com/docker/cli +https://github.com/docker/cli --> {% if page.datafolder contains '-edge' %} {% include edge_only.md section="cliref" %} diff --git a/engine/reference/commandline/network_connect.md b/engine/reference/commandline/network_connect.md index 4ae302e265..86bbcf26eb 100644 --- a/engine/reference/commandline/network_connect.md +++ b/engine/reference/commandline/network_connect.md @@ -8,7 +8,7 @@ Sorry, but the contents of this page are automatically generated from Docker's source code. If you want to suggest a change to the text that appears here, you'll need to find the string by searching this repo: -https://www.github.com/docker/cli +https://github.com/docker/cli --> {% if page.datafolder contains '-edge' %} {% include edge_only.md section="cliref" %} diff --git a/engine/reference/commandline/network_create.md b/engine/reference/commandline/network_create.md index aec724e30b..afb0411b72 100644 --- a/engine/reference/commandline/network_create.md +++ b/engine/reference/commandline/network_create.md @@ -8,7 +8,7 @@ Sorry, but the contents of this page are automatically generated from Docker's source code. If you want to suggest a change to the text that appears here, you'll need to find the string by searching this repo: -https://www.github.com/docker/cli +https://github.com/docker/cli --> {% if page.datafolder contains '-edge' %} {% include edge_only.md section="cliref" %} diff --git a/engine/reference/commandline/network_disconnect.md b/engine/reference/commandline/network_disconnect.md index d2f3939f98..0b225020d7 100644 --- a/engine/reference/commandline/network_disconnect.md +++ b/engine/reference/commandline/network_disconnect.md @@ -8,7 +8,7 @@ Sorry, but the contents of this page are automatically generated from Docker's source code. If you want to suggest a change to the text that appears here, you'll need to find the string by searching this repo: -https://www.github.com/docker/cli +https://github.com/docker/cli --> {% if page.datafolder contains '-edge' %} {% include edge_only.md section="cliref" %} diff --git a/engine/reference/commandline/network_inspect.md b/engine/reference/commandline/network_inspect.md index 87fe0f3f23..c3a6355962 100644 --- a/engine/reference/commandline/network_inspect.md +++ b/engine/reference/commandline/network_inspect.md @@ -8,7 +8,7 @@ Sorry, but the contents of this page are automatically generated from Docker's source code. If you want to suggest a change to the text that appears here, you'll need to find the string by searching this repo: -https://www.github.com/docker/cli +https://github.com/docker/cli --> {% if page.datafolder contains '-edge' %} {% include edge_only.md section="cliref" %} diff --git a/engine/reference/commandline/network_ls.md b/engine/reference/commandline/network_ls.md index 0e898cc4e8..3a8df0c16d 100644 --- a/engine/reference/commandline/network_ls.md +++ b/engine/reference/commandline/network_ls.md @@ -8,7 +8,7 @@ Sorry, but the contents of this page are automatically generated from Docker's source code. If you want to suggest a change to the text that appears here, you'll need to find the string by searching this repo: -https://www.github.com/docker/cli +https://github.com/docker/cli --> {% if page.datafolder contains '-edge' %} {% include edge_only.md section="cliref" %} diff --git a/engine/reference/commandline/network_prune.md b/engine/reference/commandline/network_prune.md index 325af6feb5..fc9a2bf884 100644 --- a/engine/reference/commandline/network_prune.md +++ b/engine/reference/commandline/network_prune.md @@ -8,7 +8,7 @@ Sorry, but the contents of this page are automatically generated from Docker's source code. If you want to suggest a change to the text that appears here, you'll need to find the string by searching this repo: -https://www.github.com/docker/cli +https://github.com/docker/cli --> {% if page.datafolder contains '-edge' %} {% include edge_only.md section="cliref" %} diff --git a/engine/reference/commandline/network_rm.md b/engine/reference/commandline/network_rm.md index 61b4cca493..f09acbfb08 100644 --- a/engine/reference/commandline/network_rm.md +++ b/engine/reference/commandline/network_rm.md @@ -8,7 +8,7 @@ Sorry, but the contents of this page are automatically generated from Docker's source code. If you want to suggest a change to the text that appears here, you'll need to find the string by searching this repo: -https://www.github.com/docker/cli +https://github.com/docker/cli --> {% if page.datafolder contains '-edge' %} {% include edge_only.md section="cliref" %} diff --git a/engine/reference/commandline/node.md b/engine/reference/commandline/node.md index f5c9a20149..68821f37e9 100644 --- a/engine/reference/commandline/node.md +++ b/engine/reference/commandline/node.md @@ -8,7 +8,7 @@ Sorry, but the contents of this page are automatically generated from Docker's source code. If you want to suggest a change to the text that appears here, you'll need to find the string by searching this repo: -https://www.github.com/docker/cli +https://github.com/docker/cli --> {% if page.datafolder contains '-edge' %} {% include edge_only.md section="cliref" %} diff --git a/engine/reference/commandline/node_demote.md b/engine/reference/commandline/node_demote.md index cc5689c636..dd72ace717 100644 --- a/engine/reference/commandline/node_demote.md +++ b/engine/reference/commandline/node_demote.md @@ -8,7 +8,7 @@ Sorry, but the contents of this page are automatically generated from Docker's source code. If you want to suggest a change to the text that appears here, you'll need to find the string by searching this repo: -https://www.github.com/docker/cli +https://github.com/docker/cli --> {% if page.datafolder contains '-edge' %} {% include edge_only.md section="cliref" %} diff --git a/engine/reference/commandline/node_inspect.md b/engine/reference/commandline/node_inspect.md index 1c146e9907..1f5bf09d01 100644 --- a/engine/reference/commandline/node_inspect.md +++ b/engine/reference/commandline/node_inspect.md @@ -8,7 +8,7 @@ Sorry, but the contents of this page are automatically generated from Docker's source code. If you want to suggest a change to the text that appears here, you'll need to find the string by searching this repo: -https://www.github.com/docker/cli +https://github.com/docker/cli --> {% if page.datafolder contains '-edge' %} {% include edge_only.md section="cliref" %} diff --git a/engine/reference/commandline/node_ls.md b/engine/reference/commandline/node_ls.md index 8ee2fc5f86..d18eaedb22 100644 --- a/engine/reference/commandline/node_ls.md +++ b/engine/reference/commandline/node_ls.md @@ -8,7 +8,7 @@ Sorry, but the contents of this page are automatically generated from Docker's source code. If you want to suggest a change to the text that appears here, you'll need to find the string by searching this repo: -https://www.github.com/docker/cli +https://github.com/docker/cli --> {% if page.datafolder contains '-edge' %} {% include edge_only.md section="cliref" %} diff --git a/engine/reference/commandline/node_promote.md b/engine/reference/commandline/node_promote.md index 3c7ac94a58..3521c2ddeb 100644 --- a/engine/reference/commandline/node_promote.md +++ b/engine/reference/commandline/node_promote.md @@ -8,7 +8,7 @@ Sorry, but the contents of this page are automatically generated from Docker's source code. If you want to suggest a change to the text that appears here, you'll need to find the string by searching this repo: -https://www.github.com/docker/cli +https://github.com/docker/cli --> {% if page.datafolder contains '-edge' %} {% include edge_only.md section="cliref" %} diff --git a/engine/reference/commandline/node_ps.md b/engine/reference/commandline/node_ps.md index 10f9da1766..d83ad83e28 100644 --- a/engine/reference/commandline/node_ps.md +++ b/engine/reference/commandline/node_ps.md @@ -8,7 +8,7 @@ Sorry, but the contents of this page are automatically generated from Docker's source code. If you want to suggest a change to the text that appears here, you'll need to find the string by searching this repo: -https://www.github.com/docker/cli +https://github.com/docker/cli --> {% if page.datafolder contains '-edge' %} {% include edge_only.md section="cliref" %} diff --git a/engine/reference/commandline/node_rm.md b/engine/reference/commandline/node_rm.md index c54f7ef1b7..342c4a3e88 100644 --- a/engine/reference/commandline/node_rm.md +++ b/engine/reference/commandline/node_rm.md @@ -8,7 +8,7 @@ Sorry, but the contents of this page are automatically generated from Docker's source code. If you want to suggest a change to the text that appears here, you'll need to find the string by searching this repo: -https://www.github.com/docker/cli +https://github.com/docker/cli --> {% if page.datafolder contains '-edge' %} {% include edge_only.md section="cliref" %} diff --git a/engine/reference/commandline/node_update.md b/engine/reference/commandline/node_update.md index c0fb866d9d..4401a54e53 100644 --- a/engine/reference/commandline/node_update.md +++ b/engine/reference/commandline/node_update.md @@ -8,7 +8,7 @@ Sorry, but the contents of this page are automatically generated from Docker's source code. If you want to suggest a change to the text that appears here, you'll need to find the string by searching this repo: -https://www.github.com/docker/cli +https://github.com/docker/cli --> {% if page.datafolder contains '-edge' %} {% include edge_only.md section="cliref" %} diff --git a/engine/reference/commandline/pause.md b/engine/reference/commandline/pause.md index 7f2cf4a250..40115be5d3 100644 --- a/engine/reference/commandline/pause.md +++ b/engine/reference/commandline/pause.md @@ -8,7 +8,7 @@ Sorry, but the contents of this page are automatically generated from Docker's source code. If you want to suggest a change to the text that appears here, you'll need to find the string by searching this repo: -https://www.github.com/docker/cli +https://github.com/docker/cli --> {% if page.datafolder contains '-edge' %} {% include edge_only.md section="cliref" %} diff --git a/engine/reference/commandline/plugin.md b/engine/reference/commandline/plugin.md index 924fa74cc3..57d8bb7597 100644 --- a/engine/reference/commandline/plugin.md +++ b/engine/reference/commandline/plugin.md @@ -8,7 +8,7 @@ Sorry, but the contents of this page are automatically generated from Docker's source code. If you want to suggest a change to the text that appears here, you'll need to find the string by searching this repo: -https://www.github.com/docker/cli +https://github.com/docker/cli --> {% if page.datafolder contains '-edge' %} {% include edge_only.md section="cliref" %} diff --git a/engine/reference/commandline/plugin_create.md b/engine/reference/commandline/plugin_create.md index 9ba2cf6b7b..35b15f8c3b 100644 --- a/engine/reference/commandline/plugin_create.md +++ b/engine/reference/commandline/plugin_create.md @@ -8,7 +8,7 @@ Sorry, but the contents of this page are automatically generated from Docker's source code. If you want to suggest a change to the text that appears here, you'll need to find the string by searching this repo: -https://www.github.com/docker/cli +https://github.com/docker/cli --> {% if page.datafolder contains '-edge' %} {% include edge_only.md section="cliref" %} diff --git a/engine/reference/commandline/plugin_disable.md b/engine/reference/commandline/plugin_disable.md index 5e7419cd77..d37cd5dd36 100644 --- a/engine/reference/commandline/plugin_disable.md +++ b/engine/reference/commandline/plugin_disable.md @@ -8,7 +8,7 @@ Sorry, but the contents of this page are automatically generated from Docker's source code. If you want to suggest a change to the text that appears here, you'll need to find the string by searching this repo: -https://www.github.com/docker/cli +https://github.com/docker/cli --> {% if page.datafolder contains '-edge' %} {% include edge_only.md section="cliref" %} diff --git a/engine/reference/commandline/plugin_enable.md b/engine/reference/commandline/plugin_enable.md index 42b7dcc74f..901755b0de 100644 --- a/engine/reference/commandline/plugin_enable.md +++ b/engine/reference/commandline/plugin_enable.md @@ -8,7 +8,7 @@ Sorry, but the contents of this page are automatically generated from Docker's source code. If you want to suggest a change to the text that appears here, you'll need to find the string by searching this repo: -https://www.github.com/docker/cli +https://github.com/docker/cli --> {% if page.datafolder contains '-edge' %} {% include edge_only.md section="cliref" %} diff --git a/engine/reference/commandline/plugin_inspect.md b/engine/reference/commandline/plugin_inspect.md index a62a336b78..00102a5f15 100644 --- a/engine/reference/commandline/plugin_inspect.md +++ b/engine/reference/commandline/plugin_inspect.md @@ -8,7 +8,7 @@ Sorry, but the contents of this page are automatically generated from Docker's source code. If you want to suggest a change to the text that appears here, you'll need to find the string by searching this repo: -https://www.github.com/docker/cli +https://github.com/docker/cli --> {% if page.datafolder contains '-edge' %} {% include edge_only.md section="cliref" %} diff --git a/engine/reference/commandline/plugin_install.md b/engine/reference/commandline/plugin_install.md index 04ef2ac9ab..29d9b554b5 100644 --- a/engine/reference/commandline/plugin_install.md +++ b/engine/reference/commandline/plugin_install.md @@ -8,7 +8,7 @@ Sorry, but the contents of this page are automatically generated from Docker's source code. If you want to suggest a change to the text that appears here, you'll need to find the string by searching this repo: -https://www.github.com/docker/cli +https://github.com/docker/cli --> {% if page.datafolder contains '-edge' %} {% include edge_only.md section="cliref" %} diff --git a/engine/reference/commandline/plugin_ls.md b/engine/reference/commandline/plugin_ls.md index 6075452529..869f4d7d96 100644 --- a/engine/reference/commandline/plugin_ls.md +++ b/engine/reference/commandline/plugin_ls.md @@ -8,7 +8,7 @@ Sorry, but the contents of this page are automatically generated from Docker's source code. If you want to suggest a change to the text that appears here, you'll need to find the string by searching this repo: -https://www.github.com/docker/cli +https://github.com/docker/cli --> {% if page.datafolder contains '-edge' %} {% include edge_only.md section="cliref" %} diff --git a/engine/reference/commandline/plugin_push.md b/engine/reference/commandline/plugin_push.md index 7490d7b94d..3f0ed4ab4e 100644 --- a/engine/reference/commandline/plugin_push.md +++ b/engine/reference/commandline/plugin_push.md @@ -8,7 +8,7 @@ Sorry, but the contents of this page are automatically generated from Docker's source code. If you want to suggest a change to the text that appears here, you'll need to find the string by searching this repo: -https://www.github.com/docker/cli +https://github.com/docker/cli --> {% if page.datafolder contains '-edge' %} {% include edge_only.md section="cliref" %} diff --git a/engine/reference/commandline/plugin_rm.md b/engine/reference/commandline/plugin_rm.md index e3a6814f9c..29bdb0beef 100644 --- a/engine/reference/commandline/plugin_rm.md +++ b/engine/reference/commandline/plugin_rm.md @@ -8,7 +8,7 @@ Sorry, but the contents of this page are automatically generated from Docker's source code. If you want to suggest a change to the text that appears here, you'll need to find the string by searching this repo: -https://www.github.com/docker/cli +https://github.com/docker/cli --> {% if page.datafolder contains '-edge' %} {% include edge_only.md section="cliref" %} diff --git a/engine/reference/commandline/plugin_set.md b/engine/reference/commandline/plugin_set.md index cc657d281f..777facb08d 100644 --- a/engine/reference/commandline/plugin_set.md +++ b/engine/reference/commandline/plugin_set.md @@ -8,7 +8,7 @@ Sorry, but the contents of this page are automatically generated from Docker's source code. If you want to suggest a change to the text that appears here, you'll need to find the string by searching this repo: -https://www.github.com/docker/cli +https://github.com/docker/cli --> {% if page.datafolder contains '-edge' %} {% include edge_only.md section="cliref" %} diff --git a/engine/reference/commandline/plugin_upgrade.md b/engine/reference/commandline/plugin_upgrade.md index 25e2bf43c1..0822094bdd 100644 --- a/engine/reference/commandline/plugin_upgrade.md +++ b/engine/reference/commandline/plugin_upgrade.md @@ -8,7 +8,7 @@ Sorry, but the contents of this page are automatically generated from Docker's source code. If you want to suggest a change to the text that appears here, you'll need to find the string by searching this repo: -https://www.github.com/docker/cli +https://github.com/docker/cli --> {% if page.datafolder contains '-edge' %} {% include edge_only.md section="cliref" %} diff --git a/engine/reference/commandline/port.md b/engine/reference/commandline/port.md index 262b901933..02b3d9fbcc 100644 --- a/engine/reference/commandline/port.md +++ b/engine/reference/commandline/port.md @@ -8,7 +8,7 @@ Sorry, but the contents of this page are automatically generated from Docker's source code. If you want to suggest a change to the text that appears here, you'll need to find the string by searching this repo: -https://www.github.com/docker/cli +https://github.com/docker/cli --> {% if page.datafolder contains '-edge' %} {% include edge_only.md section="cliref" %} diff --git a/engine/reference/commandline/ps.md b/engine/reference/commandline/ps.md index 176e0abe82..f9fbff474e 100644 --- a/engine/reference/commandline/ps.md +++ b/engine/reference/commandline/ps.md @@ -8,7 +8,7 @@ Sorry, but the contents of this page are automatically generated from Docker's source code. If you want to suggest a change to the text that appears here, you'll need to find the string by searching this repo: -https://www.github.com/docker/cli +https://github.com/docker/cli --> {% if page.datafolder contains '-edge' %} {% include edge_only.md section="cliref" %} diff --git a/engine/reference/commandline/pull.md b/engine/reference/commandline/pull.md index 7b4397f282..7e6a1434d3 100644 --- a/engine/reference/commandline/pull.md +++ b/engine/reference/commandline/pull.md @@ -8,7 +8,7 @@ Sorry, but the contents of this page are automatically generated from Docker's source code. If you want to suggest a change to the text that appears here, you'll need to find the string by searching this repo: -https://www.github.com/docker/cli +https://github.com/docker/cli --> {% if page.datafolder contains '-edge' %} {% include edge_only.md section="cliref" %} diff --git a/engine/reference/commandline/push.md b/engine/reference/commandline/push.md index 6543a66e93..44d48dd34c 100644 --- a/engine/reference/commandline/push.md +++ b/engine/reference/commandline/push.md @@ -8,7 +8,7 @@ Sorry, but the contents of this page are automatically generated from Docker's source code. If you want to suggest a change to the text that appears here, you'll need to find the string by searching this repo: -https://www.github.com/docker/cli +https://github.com/docker/cli --> {% if page.datafolder contains '-edge' %} {% include edge_only.md section="cliref" %} diff --git a/engine/reference/commandline/rename.md b/engine/reference/commandline/rename.md index 5415276242..c1c9753a1b 100644 --- a/engine/reference/commandline/rename.md +++ b/engine/reference/commandline/rename.md @@ -8,7 +8,7 @@ Sorry, but the contents of this page are automatically generated from Docker's source code. If you want to suggest a change to the text that appears here, you'll need to find the string by searching this repo: -https://www.github.com/docker/cli +https://github.com/docker/cli --> {% if page.datafolder contains '-edge' %} {% include edge_only.md section="cliref" %} diff --git a/engine/reference/commandline/restart.md b/engine/reference/commandline/restart.md index f1b1f7a2ab..3e9e8e7d14 100644 --- a/engine/reference/commandline/restart.md +++ b/engine/reference/commandline/restart.md @@ -8,7 +8,7 @@ Sorry, but the contents of this page are automatically generated from Docker's source code. If you want to suggest a change to the text that appears here, you'll need to find the string by searching this repo: -https://www.github.com/docker/cli +https://github.com/docker/cli --> {% if page.datafolder contains '-edge' %} {% include edge_only.md section="cliref" %} diff --git a/engine/reference/commandline/rm.md b/engine/reference/commandline/rm.md index 4ff2c469a4..89400a02b8 100644 --- a/engine/reference/commandline/rm.md +++ b/engine/reference/commandline/rm.md @@ -8,7 +8,7 @@ Sorry, but the contents of this page are automatically generated from Docker's source code. If you want to suggest a change to the text that appears here, you'll need to find the string by searching this repo: -https://www.github.com/docker/cli +https://github.com/docker/cli --> {% if page.datafolder contains '-edge' %} {% include edge_only.md section="cliref" %} diff --git a/engine/reference/commandline/rmi.md b/engine/reference/commandline/rmi.md index 2846f0b548..7f3e7a1008 100644 --- a/engine/reference/commandline/rmi.md +++ b/engine/reference/commandline/rmi.md @@ -8,7 +8,7 @@ Sorry, but the contents of this page are automatically generated from Docker's source code. If you want to suggest a change to the text that appears here, you'll need to find the string by searching this repo: -https://www.github.com/docker/cli +https://github.com/docker/cli --> {% if page.datafolder contains '-edge' %} {% include edge_only.md section="cliref" %} diff --git a/engine/reference/commandline/run.md b/engine/reference/commandline/run.md index 8fa6b1a2b9..1a30739ae6 100644 --- a/engine/reference/commandline/run.md +++ b/engine/reference/commandline/run.md @@ -8,7 +8,7 @@ Sorry, but the contents of this page are automatically generated from Docker's source code. If you want to suggest a change to the text that appears here, you'll need to find the string by searching this repo: -https://www.github.com/docker/cli +https://github.com/docker/cli --> {% if page.datafolder contains '-edge' %} {% include edge_only.md section="cliref" %} diff --git a/engine/reference/commandline/save.md b/engine/reference/commandline/save.md index 5cc3e7e75e..886775d2a4 100644 --- a/engine/reference/commandline/save.md +++ b/engine/reference/commandline/save.md @@ -8,7 +8,7 @@ Sorry, but the contents of this page are automatically generated from Docker's source code. If you want to suggest a change to the text that appears here, you'll need to find the string by searching this repo: -https://www.github.com/docker/cli +https://github.com/docker/cli --> {% if page.datafolder contains '-edge' %} {% include edge_only.md section="cliref" %} diff --git a/engine/reference/commandline/search.md b/engine/reference/commandline/search.md index 4b04503fe3..ac000d6be7 100644 --- a/engine/reference/commandline/search.md +++ b/engine/reference/commandline/search.md @@ -8,7 +8,7 @@ Sorry, but the contents of this page are automatically generated from Docker's source code. If you want to suggest a change to the text that appears here, you'll need to find the string by searching this repo: -https://www.github.com/docker/cli +https://github.com/docker/cli --> {% if page.datafolder contains '-edge' %} {% include edge_only.md section="cliref" %} diff --git a/engine/reference/commandline/secret.md b/engine/reference/commandline/secret.md index 21f207421a..8dc4ab8d92 100644 --- a/engine/reference/commandline/secret.md +++ b/engine/reference/commandline/secret.md @@ -8,7 +8,7 @@ Sorry, but the contents of this page are automatically generated from Docker's source code. If you want to suggest a change to the text that appears here, you'll need to find the string by searching this repo: -https://www.github.com/docker/cli +https://github.com/docker/cli --> {% if page.datafolder contains '-edge' %} {% include edge_only.md section="cliref" %} diff --git a/engine/reference/commandline/secret_create.md b/engine/reference/commandline/secret_create.md index 5bcb7a5188..0aab035c2a 100644 --- a/engine/reference/commandline/secret_create.md +++ b/engine/reference/commandline/secret_create.md @@ -8,7 +8,7 @@ Sorry, but the contents of this page are automatically generated from Docker's source code. If you want to suggest a change to the text that appears here, you'll need to find the string by searching this repo: -https://www.github.com/docker/cli +https://github.com/docker/cli --> {% if page.datafolder contains '-edge' %} {% include edge_only.md section="cliref" %} diff --git a/engine/reference/commandline/secret_inspect.md b/engine/reference/commandline/secret_inspect.md index c2459ba191..af0e26b1b9 100644 --- a/engine/reference/commandline/secret_inspect.md +++ b/engine/reference/commandline/secret_inspect.md @@ -8,7 +8,7 @@ Sorry, but the contents of this page are automatically generated from Docker's source code. If you want to suggest a change to the text that appears here, you'll need to find the string by searching this repo: -https://www.github.com/docker/cli +https://github.com/docker/cli --> {% if page.datafolder contains '-edge' %} {% include edge_only.md section="cliref" %} diff --git a/engine/reference/commandline/secret_ls.md b/engine/reference/commandline/secret_ls.md index bcf1b0231a..074469b32b 100644 --- a/engine/reference/commandline/secret_ls.md +++ b/engine/reference/commandline/secret_ls.md @@ -8,7 +8,7 @@ Sorry, but the contents of this page are automatically generated from Docker's source code. If you want to suggest a change to the text that appears here, you'll need to find the string by searching this repo: -https://www.github.com/docker/cli +https://github.com/docker/cli --> {% if page.datafolder contains '-edge' %} {% include edge_only.md section="cliref" %} diff --git a/engine/reference/commandline/secret_rm.md b/engine/reference/commandline/secret_rm.md index 6be29cf32b..bbe60a9f62 100644 --- a/engine/reference/commandline/secret_rm.md +++ b/engine/reference/commandline/secret_rm.md @@ -8,7 +8,7 @@ Sorry, but the contents of this page are automatically generated from Docker's source code. If you want to suggest a change to the text that appears here, you'll need to find the string by searching this repo: -https://www.github.com/docker/cli +https://github.com/docker/cli --> {% if page.datafolder contains '-edge' %} {% include edge_only.md section="cliref" %} diff --git a/engine/reference/commandline/service.md b/engine/reference/commandline/service.md index cd351ff530..e3cdfd5bc7 100644 --- a/engine/reference/commandline/service.md +++ b/engine/reference/commandline/service.md @@ -9,7 +9,7 @@ Sorry, but the contents of this page are automatically generated from Docker's source code. If you want to suggest a change to the text that appears here, you'll need to find the string by searching this repo: -https://www.github.com/docker/cli +https://github.com/docker/cli --> {% if page.datafolder contains '-edge' %} diff --git a/engine/reference/commandline/service_create.md b/engine/reference/commandline/service_create.md index 758bace93a..b7836161f2 100644 --- a/engine/reference/commandline/service_create.md +++ b/engine/reference/commandline/service_create.md @@ -8,7 +8,7 @@ Sorry, but the contents of this page are automatically generated from Docker's source code. If you want to suggest a change to the text that appears here, you'll need to find the string by searching this repo: -https://www.github.com/docker/cli +https://github.com/docker/cli --> {% if page.datafolder contains '-edge' %} {% include edge_only.md section="cliref" %} diff --git a/engine/reference/commandline/service_inspect.md b/engine/reference/commandline/service_inspect.md index 0f83ba8aa3..ea5be9ac77 100644 --- a/engine/reference/commandline/service_inspect.md +++ b/engine/reference/commandline/service_inspect.md @@ -8,7 +8,7 @@ Sorry, but the contents of this page are automatically generated from Docker's source code. If you want to suggest a change to the text that appears here, you'll need to find the string by searching this repo: -https://www.github.com/docker/cli +https://github.com/docker/cli --> {% if page.datafolder contains '-edge' %} {% include edge_only.md section="cliref" %} diff --git a/engine/reference/commandline/service_logs.md b/engine/reference/commandline/service_logs.md index ba617f343e..f1c57f5c86 100644 --- a/engine/reference/commandline/service_logs.md +++ b/engine/reference/commandline/service_logs.md @@ -9,7 +9,7 @@ Sorry, but the contents of this page are automatically generated from Docker's source code. If you want to suggest a change to the text that appears here, you'll need to find the string by searching this repo: -https://www.github.com/docker/cli +https://github.com/docker/cli --> {% if page.datafolder contains '-edge' %} diff --git a/engine/reference/commandline/service_ls.md b/engine/reference/commandline/service_ls.md index 4f3a5ca79b..8579247016 100644 --- a/engine/reference/commandline/service_ls.md +++ b/engine/reference/commandline/service_ls.md @@ -8,7 +8,7 @@ Sorry, but the contents of this page are automatically generated from Docker's source code. If you want to suggest a change to the text that appears here, you'll need to find the string by searching this repo: -https://www.github.com/docker/cli +https://github.com/docker/cli --> {% if page.datafolder contains '-edge' %} {% include edge_only.md section="cliref" %} diff --git a/engine/reference/commandline/service_ps.md b/engine/reference/commandline/service_ps.md index 69ecfa6d3c..efcdc90d64 100644 --- a/engine/reference/commandline/service_ps.md +++ b/engine/reference/commandline/service_ps.md @@ -9,7 +9,7 @@ Sorry, but the contents of this page are automatically generated from Docker's source code. If you want to suggest a change to the text that appears here, you'll need to find the string by searching this repo: -https://www.github.com/docker/cli +https://github.com/docker/cli --> {% if page.datafolder contains '-edge' %} diff --git a/engine/reference/commandline/service_rm.md b/engine/reference/commandline/service_rm.md index a7077f5b7a..6c0d591e91 100644 --- a/engine/reference/commandline/service_rm.md +++ b/engine/reference/commandline/service_rm.md @@ -9,7 +9,7 @@ Sorry, but the contents of this page are automatically generated from Docker's source code. If you want to suggest a change to the text that appears here, you'll need to find the string by searching this repo: -https://www.github.com/docker/cli +https://github.com/docker/cli --> {% if page.datafolder contains '-edge' %} diff --git a/engine/reference/commandline/service_scale.md b/engine/reference/commandline/service_scale.md index bfeb7ed932..290115c6d2 100644 --- a/engine/reference/commandline/service_scale.md +++ b/engine/reference/commandline/service_scale.md @@ -9,7 +9,7 @@ Sorry, but the contents of this page are automatically generated from Docker's source code. If you want to suggest a change to the text that appears here, you'll need to find the string by searching this repo: -https://www.github.com/docker/cli +https://github.com/docker/cli --> {% if page.datafolder contains '-edge' %} diff --git a/engine/reference/commandline/service_update.md b/engine/reference/commandline/service_update.md index 116b78f2d9..2018d808db 100644 --- a/engine/reference/commandline/service_update.md +++ b/engine/reference/commandline/service_update.md @@ -9,7 +9,7 @@ Sorry, but the contents of this page are automatically generated from Docker's source code. If you want to suggest a change to the text that appears here, you'll need to find the string by searching this repo: -https://www.github.com/docker/cli +https://github.com/docker/cli --> {% if page.datafolder contains '-edge' %} diff --git a/engine/reference/commandline/stack.md b/engine/reference/commandline/stack.md index 463a77a7da..f71c392066 100644 --- a/engine/reference/commandline/stack.md +++ b/engine/reference/commandline/stack.md @@ -9,7 +9,7 @@ Sorry, but the contents of this page are automatically generated from Docker's source code. If you want to suggest a change to the text that appears here, you'll need to find the string by searching this repo: -https://www.github.com/docker/cli +https://github.com/docker/cli --> {% if page.datafolder contains '-edge' %} diff --git a/engine/reference/commandline/stack_deploy.md b/engine/reference/commandline/stack_deploy.md index ea9f01c18f..8d66f0b058 100644 --- a/engine/reference/commandline/stack_deploy.md +++ b/engine/reference/commandline/stack_deploy.md @@ -9,7 +9,7 @@ Sorry, but the contents of this page are automatically generated from Docker's source code. If you want to suggest a change to the text that appears here, you'll need to find the string by searching this repo: -https://www.github.com/docker/cli +https://github.com/docker/cli --> {% if page.datafolder contains '-edge' %} diff --git a/engine/reference/commandline/stack_ls.md b/engine/reference/commandline/stack_ls.md index b90a700ad3..3058ecc2f0 100644 --- a/engine/reference/commandline/stack_ls.md +++ b/engine/reference/commandline/stack_ls.md @@ -9,7 +9,7 @@ Sorry, but the contents of this page are automatically generated from Docker's source code. If you want to suggest a change to the text that appears here, you'll need to find the string by searching this repo: -https://www.github.com/docker/cli +https://github.com/docker/cli --> {% if page.datafolder contains '-edge' %} diff --git a/engine/reference/commandline/stack_ps.md b/engine/reference/commandline/stack_ps.md index 424b2fe206..762a380a8c 100644 --- a/engine/reference/commandline/stack_ps.md +++ b/engine/reference/commandline/stack_ps.md @@ -11,7 +11,7 @@ Sorry, but the contents of this page are automatically generated from Docker's source code. If you want to suggest a change to the text that appears here, you'll need to find the string by searching this repo: -https://www.github.com/docker/cli +https://github.com/docker/cli --> {% if page.datafolder contains '-edge' %} diff --git a/engine/reference/commandline/stack_rm.md b/engine/reference/commandline/stack_rm.md index 3602c5432b..c0669b9ff9 100644 --- a/engine/reference/commandline/stack_rm.md +++ b/engine/reference/commandline/stack_rm.md @@ -9,7 +9,7 @@ Sorry, but the contents of this page are automatically generated from Docker's source code. If you want to suggest a change to the text that appears here, you'll need to find the string by searching this repo: -https://www.github.com/docker/cli +https://github.com/docker/cli --> {% if page.datafolder contains '-edge' %} diff --git a/engine/reference/commandline/stack_services.md b/engine/reference/commandline/stack_services.md index 57948c9b80..6486b3efc2 100644 --- a/engine/reference/commandline/stack_services.md +++ b/engine/reference/commandline/stack_services.md @@ -9,7 +9,7 @@ Sorry, but the contents of this page are automatically generated from Docker's source code. If you want to suggest a change to the text that appears here, you'll need to find the string by searching this repo: -https://www.github.com/docker/cli +https://github.com/docker/cli --> {% if page.datafolder contains '-edge' %} diff --git a/engine/reference/commandline/start.md b/engine/reference/commandline/start.md index c8f053c93a..5f564189db 100644 --- a/engine/reference/commandline/start.md +++ b/engine/reference/commandline/start.md @@ -9,7 +9,7 @@ Sorry, but the contents of this page are automatically generated from Docker's source code. If you want to suggest a change to the text that appears here, you'll need to find the string by searching this repo: -https://www.github.com/docker/cli +https://github.com/docker/cli --> {% if page.datafolder contains '-edge' %} diff --git a/engine/reference/commandline/stats.md b/engine/reference/commandline/stats.md index bbdba35dbd..2b8400ed19 100644 --- a/engine/reference/commandline/stats.md +++ b/engine/reference/commandline/stats.md @@ -9,7 +9,7 @@ Sorry, but the contents of this page are automatically generated from Docker's source code. If you want to suggest a change to the text that appears here, you'll need to find the string by searching this repo: -https://www.github.com/docker/cli +https://github.com/docker/cli --> {% if page.datafolder contains '-edge' %} diff --git a/engine/reference/commandline/stop.md b/engine/reference/commandline/stop.md index cf76bc4a30..0fb5b536ec 100644 --- a/engine/reference/commandline/stop.md +++ b/engine/reference/commandline/stop.md @@ -9,7 +9,7 @@ Sorry, but the contents of this page are automatically generated from Docker's source code. If you want to suggest a change to the text that appears here, you'll need to find the string by searching this repo: -https://www.github.com/docker/cli +https://github.com/docker/cli --> {% if page.datafolder contains '-edge' %} diff --git a/engine/reference/commandline/swarm.md b/engine/reference/commandline/swarm.md index 0b7d1dbfb3..90099b8fe9 100644 --- a/engine/reference/commandline/swarm.md +++ b/engine/reference/commandline/swarm.md @@ -9,7 +9,7 @@ Sorry, but the contents of this page are automatically generated from Docker's source code. If you want to suggest a change to the text that appears here, you'll need to find the string by searching this repo: -https://www.github.com/docker/cli +https://github.com/docker/cli --> {% if page.datafolder contains '-edge' %} diff --git a/engine/reference/commandline/swarm_ca.md b/engine/reference/commandline/swarm_ca.md index 0cfa8a171b..edfc4f1d29 100644 --- a/engine/reference/commandline/swarm_ca.md +++ b/engine/reference/commandline/swarm_ca.md @@ -9,7 +9,7 @@ Sorry, but the contents of this page are automatically generated from Docker's source code. If you want to suggest a change to the text that appears here, you'll need to find the string by searching this repo: -https://www.github.com/docker/cli +https://github.com/docker/cli --> {% if page.datafolder contains '-edge' %} diff --git a/engine/reference/commandline/swarm_init.md b/engine/reference/commandline/swarm_init.md index 1bdb9081d2..4e986c44e1 100644 --- a/engine/reference/commandline/swarm_init.md +++ b/engine/reference/commandline/swarm_init.md @@ -9,7 +9,7 @@ Sorry, but the contents of this page are automatically generated from Docker's source code. If you want to suggest a change to the text that appears here, you'll need to find the string by searching this repo: -https://www.github.com/docker/cli +https://github.com/docker/cli --> {% if page.datafolder contains '-edge' %} diff --git a/engine/reference/commandline/swarm_join-token.md b/engine/reference/commandline/swarm_join-token.md index 4ea14a1a6d..5391721565 100644 --- a/engine/reference/commandline/swarm_join-token.md +++ b/engine/reference/commandline/swarm_join-token.md @@ -11,7 +11,7 @@ Sorry, but the contents of this page are automatically generated from Docker's source code. If you want to suggest a change to the text that appears here, you'll need to find the string by searching this repo: -https://www.github.com/docker/cli +https://github.com/docker/cli --> {% if page.datafolder contains '-edge' %} diff --git a/engine/reference/commandline/swarm_join.md b/engine/reference/commandline/swarm_join.md index cf2177ad81..57e4382149 100644 --- a/engine/reference/commandline/swarm_join.md +++ b/engine/reference/commandline/swarm_join.md @@ -9,7 +9,7 @@ Sorry, but the contents of this page are automatically generated from Docker's source code. If you want to suggest a change to the text that appears here, you'll need to find the string by searching this repo: -https://www.github.com/docker/cli +https://github.com/docker/cli --> {% if page.datafolder contains '-edge' %} diff --git a/engine/reference/commandline/swarm_leave.md b/engine/reference/commandline/swarm_leave.md index b481eedc7c..77ed17e2ca 100644 --- a/engine/reference/commandline/swarm_leave.md +++ b/engine/reference/commandline/swarm_leave.md @@ -9,7 +9,7 @@ Sorry, but the contents of this page are automatically generated from Docker's source code. If you want to suggest a change to the text that appears here, you'll need to find the string by searching this repo: -https://www.github.com/docker/cli +https://github.com/docker/cli --> {% if page.datafolder contains '-edge' %} diff --git a/engine/reference/commandline/swarm_unlock-key.md b/engine/reference/commandline/swarm_unlock-key.md index b85aeb3bd5..caca9aec2d 100644 --- a/engine/reference/commandline/swarm_unlock-key.md +++ b/engine/reference/commandline/swarm_unlock-key.md @@ -9,7 +9,7 @@ Sorry, but the contents of this page are automatically generated from Docker's source code. If you want to suggest a change to the text that appears here, you'll need to find the string by searching this repo: -https://www.github.com/docker/cli +https://github.com/docker/cli --> {% if page.datafolder contains '-edge' %} diff --git a/engine/reference/commandline/swarm_unlock.md b/engine/reference/commandline/swarm_unlock.md index df86f110a8..41a893f6ba 100644 --- a/engine/reference/commandline/swarm_unlock.md +++ b/engine/reference/commandline/swarm_unlock.md @@ -9,7 +9,7 @@ Sorry, but the contents of this page are automatically generated from Docker's source code. If you want to suggest a change to the text that appears here, you'll need to find the string by searching this repo: -https://www.github.com/docker/cli +https://github.com/docker/cli --> {% if page.datafolder contains '-edge' %} diff --git a/engine/reference/commandline/swarm_update.md b/engine/reference/commandline/swarm_update.md index 23c8275794..6d5fc2bf1a 100644 --- a/engine/reference/commandline/swarm_update.md +++ b/engine/reference/commandline/swarm_update.md @@ -9,7 +9,7 @@ Sorry, but the contents of this page are automatically generated from Docker's source code. If you want to suggest a change to the text that appears here, you'll need to find the string by searching this repo: -https://www.github.com/docker/cli +https://github.com/docker/cli --> {% if page.datafolder contains '-edge' %} diff --git a/engine/reference/commandline/system.md b/engine/reference/commandline/system.md index b53181e119..c2c46ffccf 100644 --- a/engine/reference/commandline/system.md +++ b/engine/reference/commandline/system.md @@ -9,7 +9,7 @@ Sorry, but the contents of this page are automatically generated from Docker's source code. If you want to suggest a change to the text that appears here, you'll need to find the string by searching this repo: -https://www.github.com/docker/cli +https://github.com/docker/cli --> {% if page.datafolder contains '-edge' %} diff --git a/engine/reference/commandline/system_df.md b/engine/reference/commandline/system_df.md index 988c89cf37..c9ed3c2e4f 100644 --- a/engine/reference/commandline/system_df.md +++ b/engine/reference/commandline/system_df.md @@ -9,7 +9,7 @@ Sorry, but the contents of this page are automatically generated from Docker's source code. If you want to suggest a change to the text that appears here, you'll need to find the string by searching this repo: -https://www.github.com/docker/cli +https://github.com/docker/cli --> {% if page.datafolder contains '-edge' %} diff --git a/engine/reference/commandline/system_events.md b/engine/reference/commandline/system_events.md index e9f154f6c2..26aa4a0f74 100644 --- a/engine/reference/commandline/system_events.md +++ b/engine/reference/commandline/system_events.md @@ -9,7 +9,7 @@ Sorry, but the contents of this page are automatically generated from Docker's source code. If you want to suggest a change to the text that appears here, you'll need to find the string by searching this repo: -https://www.github.com/docker/cli +https://github.com/docker/cli --> {% if page.datafolder contains '-edge' %} diff --git a/engine/reference/commandline/system_info.md b/engine/reference/commandline/system_info.md index 7bbea2f652..01e0200bf5 100644 --- a/engine/reference/commandline/system_info.md +++ b/engine/reference/commandline/system_info.md @@ -9,7 +9,7 @@ Sorry, but the contents of this page are automatically generated from Docker's source code. If you want to suggest a change to the text that appears here, you'll need to find the string by searching this repo: -https://www.github.com/docker/cli +https://github.com/docker/cli --> {% if page.datafolder contains '-edge' %} diff --git a/engine/reference/commandline/system_prune.md b/engine/reference/commandline/system_prune.md index 68c64b6c6c..af7bb36af3 100644 --- a/engine/reference/commandline/system_prune.md +++ b/engine/reference/commandline/system_prune.md @@ -9,7 +9,7 @@ Sorry, but the contents of this page are automatically generated from Docker's source code. If you want to suggest a change to the text that appears here, you'll need to find the string by searching this repo: -https://www.github.com/docker/cli +https://github.com/docker/cli --> {% if page.datafolder contains '-edge' %} diff --git a/engine/reference/commandline/tag.md b/engine/reference/commandline/tag.md index 71d19582dd..1ba9a241d3 100644 --- a/engine/reference/commandline/tag.md +++ b/engine/reference/commandline/tag.md @@ -9,7 +9,7 @@ Sorry, but the contents of this page are automatically generated from Docker's source code. If you want to suggest a change to the text that appears here, you'll need to find the string by searching this repo: -https://www.github.com/docker/cli +https://github.com/docker/cli --> {% if page.datafolder contains '-edge' %} diff --git a/engine/reference/commandline/top.md b/engine/reference/commandline/top.md index 5b4b194c10..5632a140b3 100644 --- a/engine/reference/commandline/top.md +++ b/engine/reference/commandline/top.md @@ -9,7 +9,7 @@ Sorry, but the contents of this page are automatically generated from Docker's source code. If you want to suggest a change to the text that appears here, you'll need to find the string by searching this repo: -https://www.github.com/docker/cli +https://github.com/docker/cli --> {% if page.datafolder contains '-edge' %} diff --git a/engine/reference/commandline/trust.md b/engine/reference/commandline/trust.md new file mode 100644 index 0000000000..9a7a424c71 --- /dev/null +++ b/engine/reference/commandline/trust.md @@ -0,0 +1,18 @@ +--- +datafolder: engine-cli +datafile: docker_trust +title: docker trust +--- + + + +{% if page.datafolder contains '-edge' %} + {% include edge_only.md section="cliref" %} +{% endif %} +{% include cli.md datafolder=page.datafolder datafile=page.datafile %} diff --git a/engine/reference/commandline/trust_inspect.md b/engine/reference/commandline/trust_inspect.md new file mode 100644 index 0000000000..9c32315863 --- /dev/null +++ b/engine/reference/commandline/trust_inspect.md @@ -0,0 +1,18 @@ +--- +datafolder: engine-cli +datafile: docker_trust_inspect +title: docker trust inspect +--- + + + +{% if page.datafolder contains '-edge' %} + {% include edge_only.md section="cliref" %} +{% endif %} +{% include cli.md datafolder=page.datafolder datafile=page.datafile %} diff --git a/engine/reference/commandline/trust_key.md b/engine/reference/commandline/trust_key.md new file mode 100644 index 0000000000..632023ffec --- /dev/null +++ b/engine/reference/commandline/trust_key.md @@ -0,0 +1,18 @@ +--- +datafolder: engine-cli +datafile: docker_trust_key +title: docker trust key +--- + + + +{% if page.datafolder contains '-edge' %} + {% include edge_only.md section="cliref" %} +{% endif %} +{% include cli.md datafolder=page.datafolder datafile=page.datafile %} diff --git a/engine/reference/commandline/trust_key_generate.md b/engine/reference/commandline/trust_key_generate.md new file mode 100644 index 0000000000..bf075f2084 --- /dev/null +++ b/engine/reference/commandline/trust_key_generate.md @@ -0,0 +1,18 @@ +--- +datafolder: engine-cli +datafile: docker_trust_key_generate +title: docker trust key generate +--- + + + +{% if page.datafolder contains '-edge' %} + {% include edge_only.md section="cliref" %} +{% endif %} +{% include cli.md datafolder=page.datafolder datafile=page.datafile %} diff --git a/engine/reference/commandline/trust_key_load.md b/engine/reference/commandline/trust_key_load.md new file mode 100644 index 0000000000..a32c7793b5 --- /dev/null +++ b/engine/reference/commandline/trust_key_load.md @@ -0,0 +1,18 @@ +--- +datafolder: engine-cli +datafile: docker_trust_key_load +title: docker trust key load +--- + + + +{% if page.datafolder contains '-edge' %} + {% include edge_only.md section="cliref" %} +{% endif %} +{% include cli.md datafolder=page.datafolder datafile=page.datafile %} diff --git a/engine/reference/commandline/trust_revoke.md b/engine/reference/commandline/trust_revoke.md new file mode 100644 index 0000000000..cecad510d6 --- /dev/null +++ b/engine/reference/commandline/trust_revoke.md @@ -0,0 +1,18 @@ +--- +datafolder: engine-cli +datafile: docker_trust_revoke +title: docker trust revoke +--- + + + +{% if page.datafolder contains '-edge' %} + {% include edge_only.md section="cliref" %} +{% endif %} +{% include cli.md datafolder=page.datafolder datafile=page.datafile %} diff --git a/engine/reference/commandline/trust_sign.md b/engine/reference/commandline/trust_sign.md new file mode 100644 index 0000000000..4ea65ca034 --- /dev/null +++ b/engine/reference/commandline/trust_sign.md @@ -0,0 +1,18 @@ +--- +datafolder: engine-cli +datafile: docker_trust_sign +title: docker trust sign +--- + + + +{% if page.datafolder contains '-edge' %} + {% include edge_only.md section="cliref" %} +{% endif %} +{% include cli.md datafolder=page.datafolder datafile=page.datafile %} diff --git a/engine/reference/commandline/trust_signer.md b/engine/reference/commandline/trust_signer.md new file mode 100644 index 0000000000..0f0c7dc3ec --- /dev/null +++ b/engine/reference/commandline/trust_signer.md @@ -0,0 +1,18 @@ +--- +datafolder: engine-cli +datafile: docker_trust_signer +title: docker trust signer +--- + + + +{% if page.datafolder contains '-edge' %} + {% include edge_only.md section="cliref" %} +{% endif %} +{% include cli.md datafolder=page.datafolder datafile=page.datafile %} diff --git a/engine/reference/commandline/trust_signer_add.md b/engine/reference/commandline/trust_signer_add.md new file mode 100644 index 0000000000..cca8b8786c --- /dev/null +++ b/engine/reference/commandline/trust_signer_add.md @@ -0,0 +1,18 @@ +--- +datafolder: engine-cli +datafile: docker_trust_signer_add +title: docker trust signer add +--- + + + +{% if page.datafolder contains '-edge' %} + {% include edge_only.md section="cliref" %} +{% endif %} +{% include cli.md datafolder=page.datafolder datafile=page.datafile %} diff --git a/engine/reference/commandline/trust_signer_remove.md b/engine/reference/commandline/trust_signer_remove.md new file mode 100644 index 0000000000..3fda4948d8 --- /dev/null +++ b/engine/reference/commandline/trust_signer_remove.md @@ -0,0 +1,18 @@ +--- +datafolder: engine-cli +datafile: docker_trust_signer_remove +title: docker trust signer remove +--- + + + +{% if page.datafolder contains '-edge' %} + {% include edge_only.md section="cliref" %} +{% endif %} +{% include cli.md datafolder=page.datafolder datafile=page.datafile %} diff --git a/engine/reference/commandline/trust_view.md b/engine/reference/commandline/trust_view.md new file mode 100644 index 0000000000..ce407c2cba --- /dev/null +++ b/engine/reference/commandline/trust_view.md @@ -0,0 +1,18 @@ +--- +datafolder: engine-cli +datafile: docker_trust_view +title: docker trust view +--- + + + +{% if page.datafolder contains '-edge' %} + {% include edge_only.md section="cliref" %} +{% endif %} +{% include cli.md datafolder=page.datafolder datafile=page.datafile %} diff --git a/engine/reference/commandline/unpause.md b/engine/reference/commandline/unpause.md index d142a43e90..5af98fec94 100644 --- a/engine/reference/commandline/unpause.md +++ b/engine/reference/commandline/unpause.md @@ -9,7 +9,7 @@ Sorry, but the contents of this page are automatically generated from Docker's source code. If you want to suggest a change to the text that appears here, you'll need to find the string by searching this repo: -https://www.github.com/docker/cli +https://github.com/docker/cli --> {% if page.datafolder contains '-edge' %} diff --git a/engine/reference/commandline/update.md b/engine/reference/commandline/update.md index b629b88bb7..f67c10da2a 100644 --- a/engine/reference/commandline/update.md +++ b/engine/reference/commandline/update.md @@ -9,7 +9,7 @@ Sorry, but the contents of this page are automatically generated from Docker's source code. If you want to suggest a change to the text that appears here, you'll need to find the string by searching this repo: -https://www.github.com/docker/cli +https://github.com/docker/cli --> {% if page.datafolder contains '-edge' %} diff --git a/engine/reference/commandline/version.md b/engine/reference/commandline/version.md index 266866dc7b..4a1f7ab836 100644 --- a/engine/reference/commandline/version.md +++ b/engine/reference/commandline/version.md @@ -9,7 +9,7 @@ Sorry, but the contents of this page are automatically generated from Docker's source code. If you want to suggest a change to the text that appears here, you'll need to find the string by searching this repo: -https://www.github.com/docker/cli +https://github.com/docker/cli --> {% if page.datafolder contains '-edge' %} diff --git a/engine/reference/commandline/volume.md b/engine/reference/commandline/volume.md index 88023de97f..8a57e8b1e4 100644 --- a/engine/reference/commandline/volume.md +++ b/engine/reference/commandline/volume.md @@ -9,7 +9,7 @@ Sorry, but the contents of this page are automatically generated from Docker's source code. If you want to suggest a change to the text that appears here, you'll need to find the string by searching this repo: -https://www.github.com/docker/cli +https://github.com/docker/cli --> {% if page.datafolder contains '-edge' %} diff --git a/engine/reference/commandline/volume_create.md b/engine/reference/commandline/volume_create.md index 9dfe7caa10..2c645b74dc 100644 --- a/engine/reference/commandline/volume_create.md +++ b/engine/reference/commandline/volume_create.md @@ -9,7 +9,7 @@ Sorry, but the contents of this page are automatically generated from Docker's source code. If you want to suggest a change to the text that appears here, you'll need to find the string by searching this repo: -https://www.github.com/docker/cli +https://github.com/docker/cli --> {% if page.datafolder contains '-edge' %} diff --git a/engine/reference/commandline/volume_inspect.md b/engine/reference/commandline/volume_inspect.md index 5d34ba7cf2..ae32cefd14 100644 --- a/engine/reference/commandline/volume_inspect.md +++ b/engine/reference/commandline/volume_inspect.md @@ -9,7 +9,7 @@ Sorry, but the contents of this page are automatically generated from Docker's source code. If you want to suggest a change to the text that appears here, you'll need to find the string by searching this repo: -https://www.github.com/docker/cli +https://github.com/docker/cli --> {% if page.datafolder contains '-edge' %} diff --git a/engine/reference/commandline/volume_ls.md b/engine/reference/commandline/volume_ls.md index 233bf2924a..c495de9403 100644 --- a/engine/reference/commandline/volume_ls.md +++ b/engine/reference/commandline/volume_ls.md @@ -9,7 +9,7 @@ Sorry, but the contents of this page are automatically generated from Docker's source code. If you want to suggest a change to the text that appears here, you'll need to find the string by searching this repo: -https://www.github.com/docker/cli +https://github.com/docker/cli --> {% if page.datafolder contains '-edge' %} diff --git a/engine/reference/commandline/volume_prune.md b/engine/reference/commandline/volume_prune.md index 2b1f7b5686..902a3e1fa5 100644 --- a/engine/reference/commandline/volume_prune.md +++ b/engine/reference/commandline/volume_prune.md @@ -9,7 +9,7 @@ Sorry, but the contents of this page are automatically generated from Docker's source code. If you want to suggest a change to the text that appears here, you'll need to find the string by searching this repo: -https://www.github.com/docker/cli +https://github.com/docker/cli --> {% if page.datafolder contains '-edge' %} diff --git a/engine/reference/commandline/volume_rm.md b/engine/reference/commandline/volume_rm.md index 2efa6fa6f3..40740f26da 100644 --- a/engine/reference/commandline/volume_rm.md +++ b/engine/reference/commandline/volume_rm.md @@ -9,7 +9,7 @@ Sorry, but the contents of this page are automatically generated from Docker's source code. If you want to suggest a change to the text that appears here, you'll need to find the string by searching this repo: -https://www.github.com/docker/cli +https://github.com/docker/cli --> {% if page.datafolder contains '-edge' %} diff --git a/engine/reference/commandline/wait.md b/engine/reference/commandline/wait.md index 59c8031339..985b044d51 100644 --- a/engine/reference/commandline/wait.md +++ b/engine/reference/commandline/wait.md @@ -9,7 +9,7 @@ Sorry, but the contents of this page are automatically generated from Docker's source code. If you want to suggest a change to the text that appears here, you'll need to find the string by searching this repo: -https://www.github.com/docker/cli +https://github.com/docker/cli --> {% if page.datafolder contains '-edge' %}