diff --git a/docs/reference/commandline/build.md b/docs/reference/commandline/build.md index 5767abe9ca..a2a6e9d2df 100644 --- a/docs/reference/commandline/build.md +++ b/docs/reference/commandline/build.md @@ -99,16 +99,16 @@ $ docker build https://github.com/docker/rootfs.git#container:docker The following table represents all the valid suffixes with their build contexts: -Build Syntax Suffix | Commit Used | Build Context Used ---------------------------------|-----------------------|------------------- -`myrepo.git` | `refs/heads/master` | `/` -`myrepo.git#mytag` | `refs/tags/mytag` | `/` -`myrepo.git#mybranch` | `refs/heads/mybranch` | `/` -`myrepo.git#pull/42/head` | `refs/pull/42/head` | `/` -`myrepo.git#:myfolder` | `refs/heads/master` | `/myfolder` -`myrepo.git#master:myfolder` | `refs/heads/master` | `/myfolder` -`myrepo.git#mytag:myfolder` | `refs/tags/mytag` | `/myfolder` -`myrepo.git#mybranch:myfolder` | `refs/heads/mybranch` | `/myfolder` +| Build Syntax Suffix | Commit Used | Build Context Used | +|--------------------------------|-----------------------|--------------------| +| `myrepo.git` | `refs/heads/master` | `/` | +| `myrepo.git#mytag` | `refs/tags/mytag` | `/` | +| `myrepo.git#mybranch` | `refs/heads/mybranch` | `/` | +| `myrepo.git#pull/42/head` | `refs/pull/42/head` | `/` | +| `myrepo.git#:myfolder` | `refs/heads/master` | `/myfolder` | +| `myrepo.git#master:myfolder` | `refs/heads/master` | `/myfolder` | +| `myrepo.git#mytag:myfolder` | `refs/tags/mytag` | `/myfolder` | +| `myrepo.git#mybranch:myfolder` | `refs/heads/mybranch` | `/myfolder` | ### Tarball contexts @@ -326,7 +326,7 @@ project contains multiple Dockerfiles that expect to ignore different sets of files. -### Tag an image (-t) +### Tag an image (-t, --tag) ```console $ docker build -t vieux/apache:2.0 . @@ -346,7 +346,7 @@ For example, to tag an image both as `whenry/fedora-jboss:latest` and $ docker build -t whenry/fedora-jboss:latest -t whenry/fedora-jboss:v2.1 . ``` -### Specify a Dockerfile (-f) +### Specify a Dockerfile (-f, --file) ```console $ docker build -f Dockerfile.debug . @@ -393,17 +393,17 @@ the command line. > repeatable builds on remote Docker hosts. This is also the reason why > `ADD ../file` does not work. -### Use a custom parent cgroup (--cgroup-parent) +### Use a custom parent cgroup (--cgroup-parent) When `docker build` is run with the `--cgroup-parent` option the containers used in the build will be run with the [corresponding `docker run` flag](../run.md#specify-custom-cgroups). -### Set ulimits in container (--ulimit) +### Set ulimits in container (--ulimit) Using the `--ulimit` option with `docker build` will cause each build step's container to be started using those [`--ulimit` flag values](run.md#set-ulimits-in-container---ulimit). -### Set build-time variables (--build-arg) +### Set build-time variables (--build-arg) You can use `ENV` instructions in a Dockerfile to define variable values. These values persist in the built image. However, often @@ -441,13 +441,13 @@ $ docker build --build-arg HTTP_PROXY . This is similar to how `docker run -e` works. Refer to the [`docker run` documentation](https://docs.docker.com/engine/reference/commandline/run/#set-environment-variables--e---env---env-file) for more information. -### Optional security options (--security-opt) +### Optional security options (--security-opt) This flag is only supported on a daemon running on Windows, and only supports the `credentialspec` option. The `credentialspec` must be in the format `file://spec.txt` or `registry://keyname`. -### Specify isolation technology for container (--isolation) +### Specify isolation technology for container (--isolation) This option is useful in situations where you are running Docker containers on Windows. The `--isolation=` option sets a container's isolation @@ -455,15 +455,15 @@ technology. On Linux, the only supported is the `default` option which uses Linux namespaces. On Microsoft Windows, you can specify these values: -| Value | Description | -|-----------|---------------------------------------------------------------------------------------------------------------------------------------------------------------| -| `default` | Use the value specified by the Docker daemon's `--exec-opt` . If the `daemon` does not specify an isolation technology, Microsoft Windows uses `process` as its default value. | -| `process` | Namespace isolation only. | -| `hyperv` | Hyper-V hypervisor partition-based isolation. | +| Value | Description | +|-----------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| `default` | Use the value specified by the Docker daemon's `--exec-opt` . If the `daemon` does not specify an isolation technology, Microsoft Windows uses `process` as its default value. | +| `process` | Namespace isolation only. | +| `hyperv` | Hyper-V hypervisor partition-based isolation. | Specifying the `--isolation` flag without a value is the same as setting `--isolation="default"`. -### Add entries to container hosts file (--add-host) +### Add entries to container hosts file (--add-host) You can add other hosts into a container's `/etc/hosts` file by using one or more `--add-host` flags. This example adds a static address for a host named @@ -471,7 +471,7 @@ more `--add-host` flags. This example adds a static address for a host named $ docker build --add-host=docker:10.180.0.1 . -### Specifying target build stage (--target) +### Specifying target build stage (--target) When building a Dockerfile with multiple build stages, `--target` can be used to specify an intermediate build stage by name as a final stage for the resulting @@ -479,17 +479,17 @@ image. Commands after the target stage will be skipped. ```dockerfile FROM debian AS build-env -... +# ... FROM alpine AS production-env -... +# ... ``` ```console $ docker build -t mybuildimage --target build-env . ``` -### Custom build outputs +### Custom build outputs (--output) By default, a local container image is created from the build result. The `--output` (or `-o`) flag allows you to override this behavior, and a specify a @@ -582,7 +582,7 @@ vndr > [enable BuildKit](../builder.md#buildkit) or use the [buildx](https://github.com/docker/buildx) > plugin which provides more output type options. -### Specifying external cache sources +### Specifying external cache sources (--cache-from) In addition to local build cache, the builder can reuse the cache generated from previous builds with the `--cache-from` flag pointing to an image in the registry. @@ -625,7 +625,7 @@ $ docker build --cache-from myname/myapp . > plugin. The previous builder has limited support for reusing cache from > pre-pulled images. -### Squash an image's layers (--squash) (experimental) +### Squash an image's layers (--squash) (experimental) #### Overview diff --git a/docs/reference/commandline/commit.md b/docs/reference/commandline/commit.md index 9fb49c3b66..47ec9ea0b3 100644 --- a/docs/reference/commandline/commit.md +++ b/docs/reference/commandline/commit.md @@ -60,7 +60,7 @@ REPOSITORY TAG ID CREATE svendowideit/testimage version3 f5283438590d 16 seconds ago 335.7 MB ``` -### Commit a container with new configurations +### Commit a container with new configurations (--change) ```console $ docker ps diff --git a/docs/reference/commandline/config_create.md b/docs/reference/commandline/config_create.md index eca320a84f..ebf84d7512 100644 --- a/docs/reference/commandline/config_create.md +++ b/docs/reference/commandline/config_create.md @@ -57,7 +57,7 @@ ID NAME CREATED UPDATED dg426haahpi5ezmkkj5kyl3sn my_config 7 seconds ago 7 seconds ago ``` -### Create a config with labels +### Create a config with labels (-l, --label) ```console $ docker config create \ diff --git a/docs/reference/commandline/config_inspect.md b/docs/reference/commandline/config_inspect.md index bb8c025cb0..6ac52a60ff 100644 --- a/docs/reference/commandline/config_inspect.md +++ b/docs/reference/commandline/config_inspect.md @@ -81,7 +81,7 @@ The output is in JSON format, for example: ] ``` -### Formatting +### Format the output (--format) You can use the --format option to obtain specific information about a config. The following example command outputs the creation time of the diff --git a/docs/reference/commandline/config_ls.md b/docs/reference/commandline/config_ls.md index 196203422c..dc14396e42 100644 --- a/docs/reference/commandline/config_ls.md +++ b/docs/reference/commandline/config_ls.md @@ -45,7 +45,7 @@ ID NAME CREATED UPDA mem02h8n73mybpgqjf0kfi1n0 test_config 3 seconds ago 3 seconds ago ``` -### Filtering +### Filtering (-f, --filter) The filtering flag (`-f` or `--filter`) format is a `key=value` pair. If there is more than one filter, then pass multiple flags (e.g., `--filter "foo=bar" --filter "bif=baz"`) @@ -105,7 +105,7 @@ ID NAME CREATED UPDA mem02h8n73mybpgqjf0kfi1n0 test_config About an hour ago About an hour ago ``` -### Format the output +### Format the output (--format) The formatting option (`--format`) pretty prints configs output using a Go template. @@ -113,7 +113,7 @@ using a Go template. Valid placeholders for the Go template are listed below: | Placeholder | Description | -| ------------ | ------------------------------------------------------------------------------------ | +|--------------|--------------------------------------------------------------------------------------| | `.ID` | Config ID | | `.Name` | Config name | | `.CreatedAt` | Time when the config was created | diff --git a/docs/reference/commandline/container_prune.md b/docs/reference/commandline/container_prune.md index c1101e25ce..a0da606540 100644 --- a/docs/reference/commandline/container_prune.md +++ b/docs/reference/commandline/container_prune.md @@ -37,7 +37,7 @@ f98f9c2aa1eaf727e4ec9c0283bc7d4aa4762fbdba7f26191f26c97f64090360 Total reclaimed space: 212 B ``` -### Filtering +### Filtering (--filter) 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"`) diff --git a/docs/reference/commandline/context.md b/docs/reference/commandline/context.md new file mode 100644 index 0000000000..6d3420de7d --- /dev/null +++ b/docs/reference/commandline/context.md @@ -0,0 +1,45 @@ +--- +title: "context" +description: "The context command description and usage" +keywords: "context" +--- + +# config + +```markdown +Manage contexts + +Usage: +docker context [command] + +Available Commands: +create Create new context +export Export a context to a tar or kubeconfig file +import Import a context from a tar or zip file +inspect Display detailed information on one or more contexts +list List available contexts +rm Remove one or more contexts +show Print the current context +update Update a context +use Set the default context + +Flags: +-h, --help Help for context + +Use "docker context [command] --help" for more information about a command. +``` + +## Description + +Manage contexts. + +## Related commands + +* [context create](context_create.md) +* [context export](context_export.md) +* [context import](context_import.md) +* [context inspect](context_inspect.md) +* [context list](context_ls.md) +* [context rm](context_rm.md) +* [context update](context_update.md) +* [context use](context_use.md) diff --git a/docs/reference/commandline/context_create.md b/docs/reference/commandline/context_create.md index dceaadf82a..269e34ab16 100644 --- a/docs/reference/commandline/context_create.md +++ b/docs/reference/commandline/context_create.md @@ -41,7 +41,7 @@ configuration to connect to different clusters or single nodes. ## Examples -### Create a context with a docker endpoint +### Create a context with a docker endpoint (--docker) To create a context from scratch provide the docker and, if required, kubernetes options. The example below creates the context `my-context` @@ -53,7 +53,7 @@ $ docker context create \ my-context ``` -### Create a context based on an existing context +### Create a context based on an existing context (--from) Use the `--from=` option to create a new context from an existing context. The example below creates a new context named `my-context` diff --git a/docs/reference/commandline/context_ls.md b/docs/reference/commandline/context_ls.md index aec714b5d4..89f2b80638 100644 --- a/docs/reference/commandline/context_ls.md +++ b/docs/reference/commandline/context_ls.md @@ -36,4 +36,4 @@ NAME DESCRIPTION DOCKER ENDPOINT default * Current DOCKER_HOST based configuration unix:///var/run/docker.sock swarm production tcp:///prod.corp.example.com:2376 staging tcp:///stage.corp.example.com:2376 -``` \ No newline at end of file +``` diff --git a/docs/reference/commandline/context_use.md b/docs/reference/commandline/context_use.md index 17ed940c01..7e8d68a511 100644 --- a/docs/reference/commandline/context_use.md +++ b/docs/reference/commandline/context_use.md @@ -13,6 +13,7 @@ Set the current docker context ``` ## Description + Set the default context to use, when `DOCKER_HOST`, `DOCKER_CONTEXT` environment variables and `--host`, `--context` global options are not set. To disable usage of contexts, you can use the special `default` context. diff --git a/docs/reference/commandline/dockerd.md b/docs/reference/commandline/dockerd.md index 95c5d31c78..ffb8a0cefa 100644 --- a/docs/reference/commandline/dockerd.md +++ b/docs/reference/commandline/dockerd.md @@ -771,7 +771,7 @@ time of writing, the following is the list of `libdm` log levels as well as their corresponding levels when output by `dockerd`. | `libdm` Level | Value | `--log-level` | -| ------------- | -----:| ------------- | +|---------------|------:|---------------| | `_LOG_FATAL` | 2 | error | | `_LOG_ERR` | 3 | error | | `_LOG_WARN` | 4 | warn | diff --git a/docs/reference/commandline/events.md b/docs/reference/commandline/events.md index 5f88ba7230..9a6a9c9975 100644 --- a/docs/reference/commandline/events.md +++ b/docs/reference/commandline/events.md @@ -141,7 +141,7 @@ Docker configs report the following events: ### Limiting, filtering, and formatting the output -#### Limit events by time +#### Limit events by time (--since, --until) The `--since` and `--until` parameters can be Unix timestamps, date formatted timestamps, or Go duration strings (e.g. `10m`, `1h30m`) computed @@ -159,7 +159,7 @@ fraction of a second no more than nine digits long. Only the last 1000 log events are returned. You can use filters to further limit the number of events returned. -#### Filtering +#### Filtering (--filter) The filtering flag (`-f` or `--filter`) format is of "key=value". If you would like to use multiple filters, pass multiple flags (e.g., @@ -190,7 +190,7 @@ The currently supported filters are: * type (`type=`) * volume (`volume=`) -#### Format +#### Format the output (--format) If a format (`--format`) is specified, the given template will be executed instead of the default diff --git a/docs/reference/commandline/history.md b/docs/reference/commandline/history.md index bbff26df3b..f098626692 100644 --- a/docs/reference/commandline/history.md +++ b/docs/reference/commandline/history.md @@ -47,21 +47,21 @@ c69cab00d6ef 5 months ago /bin/sh -c #(nop) MAINTAINER Lokesh Mand 511136ea3c5a 19 months ago 0 B Imported from - ``` -### Format the output +### Format the output (--format) The formatting option (`--format`) will pretty-prints history output using a Go template. Valid placeholders for the Go template are listed below: -| Placeholder | Description | -| --------------- | ----------- | -| `.ID` | Image ID | +| Placeholder | Description | +|-----------------|-----------------------------------------------------------------------------------------------------------| +| `.ID` | Image ID | | `.CreatedSince` | Elapsed time since the image was created if `--human=true`, otherwise timestamp of when image was created | -| `.CreatedAt` | Timestamp of when image was created | -| `.CreatedBy` | Command that was used to create the image | -| `.Size` | Image disk size | -| `.Comment` | Comment for image | +| `.CreatedAt` | Timestamp of when image was created | +| `.CreatedBy` | Command that was used to create the image | +| `.Size` | Image disk size | +| `.Comment` | Comment for image | When using the `--format` option, the `history` command will either output the data exactly as the template declares or, when using the diff --git a/docs/reference/commandline/image_prune.md b/docs/reference/commandline/image_prune.md index 7b3f968488..91a838926b 100644 --- a/docs/reference/commandline/image_prune.md +++ b/docs/reference/commandline/image_prune.md @@ -59,7 +59,7 @@ deleted: sha256:2c675ee9ed53425e31a13e3390bf3f539bf8637000e4bcfbb85ee03ef4d910a1 Total reclaimed space: 16.43 MB ``` -### Filtering +### Filtering (--filter) 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"`) diff --git a/docs/reference/commandline/images.md b/docs/reference/commandline/images.md index 6c5882c939..b49b87f63f 100644 --- a/docs/reference/commandline/images.md +++ b/docs/reference/commandline/images.md @@ -108,7 +108,7 @@ $ docker images java:0 REPOSITORY TAG IMAGE ID CREATED SIZE ``` -### List the full length image IDs +### List the full length image IDs (--no-trunc) ```console $ docker images --no-trunc @@ -125,7 +125,7 @@ tryout latest sha256:2629d1fa0b81b222fca6337 sha256:5ed6274db6ceb2397844896966ea239290555e74ef307030ebb01ff91b1914df 24 hours ago 1.089 GB ``` -### List image digests +### List image digests (--digests) Images that use the v2 or later format have a content-addressable identifier called a `digest`. As long as the input used to generate the image is @@ -143,7 +143,7 @@ output includes the image digest. You can `pull` using a digest value. You can also reference by digest in `create`, `run`, and `rmi` commands, as well as the `FROM` image reference in a Dockerfile. -### Filtering +### Filtering (--filter) The filtering flag (`-f` or `--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"`) @@ -298,15 +298,15 @@ using a Go template. Valid placeholders for the Go template are listed below: -| Placeholder | Description| -| ---- | ---- | -| `.ID` | Image ID | -| `.Repository` | Image repository | -| `.Tag` | Image tag | -| `.Digest` | Image digest | +| Placeholder | Description | +|-----------------|------------------------------------------| +| `.ID` | Image ID | +| `.Repository` | Image repository | +| `.Tag` | Image tag | +| `.Digest` | Image digest | | `.CreatedSince` | Elapsed time since the image was created | -| `.CreatedAt` | Time when the image was created | -| `.Size` | Image disk size | +| `.CreatedAt` | Time when the image was created | +| `.Size` | Image disk size | When using the `--format` option, the `image` command will either output the data exactly as the template declares or, when using the @@ -353,4 +353,4 @@ To list all images in JSON format, use the `json` directive: $ docker images --format json {"Containers":"N/A","CreatedAt":"2021-03-04 03:24:42 +0100 CET","CreatedSince":"5 days ago","Digest":"\u003cnone\u003e","ID":"4dd97cefde62","Repository":"ubuntu","SharedSize":"N/A","Size":"72.9MB","Tag":"latest","UniqueSize":"N/A","VirtualSize":"72.9MB"} {"Containers":"N/A","CreatedAt":"2021-02-17 22:19:54 +0100 CET","CreatedSince":"2 weeks ago","Digest":"\u003cnone\u003e","ID":"28f6e2705743","Repository":"alpine","SharedSize":"N/A","Size":"5.61MB","Tag":"latest","UniqueSize":"N/A","VirtualSize":"5.613MB"} -``` \ No newline at end of file +``` diff --git a/docs/reference/commandline/import.md b/docs/reference/commandline/import.md index 5542f166d6..f4021e9311 100644 --- a/docs/reference/commandline/import.md +++ b/docs/reference/commandline/import.md @@ -28,16 +28,15 @@ specify an archive, Docker untars it in the container relative to the `/` the host. To import from a remote location, specify a `URI` that begins with the `http://` or `https://` protocol. -The `--change` option will apply `Dockerfile` instructions to the image -that is created. -Supported `Dockerfile` instructions: +The `--change` option applies `Dockerfile` instructions to the image that is +created. Supported `Dockerfile` instructions: `CMD`|`ENTRYPOINT`|`ENV`|`EXPOSE`|`ONBUILD`|`USER`|`VOLUME`|`WORKDIR` ## Examples ### Import from a remote location -This will create a new untagged image. +This creates a new untagged image. ```console $ docker import https://example.com/exampleimage.tgz diff --git a/docs/reference/commandline/index.md b/docs/reference/commandline/index.md index cc0c73d9d4..5380c3ad1e 100644 --- a/docs/reference/commandline/index.md +++ b/docs/reference/commandline/index.md @@ -123,9 +123,9 @@ read the [`dockerd`](dockerd.md) reference page. | [swarm init](swarm_init.md) | Initialize a swarm | | [swarm join](swarm_join.md) | Join a swarm as a manager node or worker node | | [swarm leave](swarm_leave.md) | Remove the current node from the swarm | -| [swarm join-token](swarm_join_token.md) | Display or rotate join tokens | +| [swarm join-token](swarm_join-token.md) | Display or rotate join tokens | | [swarm unlock](swarm_unlock.md) | Unlock swarm | -| [swarm unlock-key](swarm_unlock_key.md) | Manage the unlock key | +| [swarm unlock-key](swarm_unlock-key.md) | Manage the unlock key | | [swarm update](swarm_update.md) | Update attributes of a swarm | ### Swarm service commands diff --git a/docs/reference/commandline/info.md b/docs/reference/commandline/info.md index 0071edd862..028a7728e8 100644 --- a/docs/reference/commandline/info.md +++ b/docs/reference/commandline/info.md @@ -100,7 +100,7 @@ Server: 127.0.0.0/8 ``` -### Show debugging output +### Show debugging output (--debug) Here is a sample output for a daemon running on Ubuntu, using the overlay2 storage driver and a node that is part of a 2-node swarm: @@ -192,7 +192,7 @@ Server: The global `-D` option causes all `docker` commands to output debug information. -### Format the output +### Format the output (--format) You can also specify the output format: diff --git a/docs/reference/commandline/inspect.md b/docs/reference/commandline/inspect.md index d6174340d5..36b2d202e1 100644 --- a/docs/reference/commandline/inspect.md +++ b/docs/reference/commandline/inspect.md @@ -25,14 +25,14 @@ Docker inspect provides detailed information on constructs controlled by Docker. By default, `docker inspect` will render results in a JSON array. -## Request a custom response format (--format) +### Format the output (--format) If a format is specified, the given template will be executed for each result. Go's [text/template](https://golang.org/pkg/text/template/) package describes all the details of the format. -## Specify target type (--type) +### Specify target type (--type) `--type container|image|node|network|secret|service|volume|task|plugin` diff --git a/docs/reference/commandline/kill.md b/docs/reference/commandline/kill.md index 97656a4a55..bdccdc5d59 100644 --- a/docs/reference/commandline/kill.md +++ b/docs/reference/commandline/kill.md @@ -51,7 +51,7 @@ The following example sends the default `SIGKILL` signal to the container named $ docker kill my_container ``` -### Send a custom signal to a container +### Send a custom signal to a container (--signal) The following example sends a `SIGHUP` signal to the container named `my_container`: diff --git a/docs/reference/commandline/load.md b/docs/reference/commandline/load.md index a81756d177..05a4a3f461 100644 --- a/docs/reference/commandline/load.md +++ b/docs/reference/commandline/load.md @@ -30,18 +30,25 @@ bzip2, or xz) from a file or STDIN. It restores both images and tags. $ docker image ls REPOSITORY TAG IMAGE ID CREATED SIZE +``` +### Load images from STDIN + +```console $ docker load < busybox.tar.gz Loaded image: busybox:latest $ docker images REPOSITORY TAG IMAGE ID CREATED SIZE busybox latest 769b9341d937 7 weeks ago 2.489 MB +``` +### Load images from a file (--input) + +```console $ docker load --input fedora.tar Loaded image: fedora:rawhide - Loaded image: fedora:20 $ docker images diff --git a/docs/reference/commandline/login.md b/docs/reference/commandline/login.md index 66354f30c4..e2ae944810 100644 --- a/docs/reference/commandline/login.md +++ b/docs/reference/commandline/login.md @@ -34,7 +34,7 @@ adding the server name. $ docker login localhost:8080 ``` -### Provide a password using STDIN +### Provide a password using STDIN (--password-stdin) To run the `docker login` command non-interactively, you can set the `--password-stdin` flag to provide a password through `STDIN`. Using diff --git a/docs/reference/commandline/logs.md b/docs/reference/commandline/logs.md index 57b2f42c1a..3e6f405b0f 100644 --- a/docs/reference/commandline/logs.md +++ b/docs/reference/commandline/logs.md @@ -63,7 +63,7 @@ fraction of a second no more than nine digits long. You can combine the ## Examples -### Retrieve logs until a specific point in time +### Retrieve logs until a specific point in time (--until) In order to retrieve logs before a specific point in time, run: diff --git a/docs/reference/commandline/network_connect.md b/docs/reference/commandline/network_connect.md index f7b2fe5644..a121616404 100644 --- a/docs/reference/commandline/network_connect.md +++ b/docs/reference/commandline/network_connect.md @@ -36,13 +36,14 @@ $ docker network connect multi-host-network container1 ### Connect a container to a network when it starts -You can also use the `docker run --network=` option to start a container and immediately connect it to a network. +You can also use the `docker run --network=` option to start a +container and immediately connect it to a network. ```console $ docker run -itd --network=multi-host-network busybox ``` -### Specify the IP address a container will use on a given network +### Specify the IP address a container will use on a given network (--ip) You can specify the IP address you want to be assigned to the container's interface. @@ -50,7 +51,7 @@ You can specify the IP address you want to be assigned to the container's interf $ docker network connect --ip 10.10.36.122 multi-host-network container2 ``` -### Use the legacy `--link` option +### Use the legacy `--link` option (--link) You can use `--link` option to link another container with a preferred alias @@ -58,7 +59,7 @@ You can use `--link` option to link another container with a preferred alias $ docker network connect --link container1:c1 multi-host-network container2 ``` -### Create a network alias for a container +### Create a network alias for a container (--alias) `--alias` option can be used to resolve the container by another name in the network being connected to. @@ -87,14 +88,17 @@ $ docker network create --subnet 172.20.0.0/16 --ip-range 172.20.240.0/20 multi- $ docker network connect --ip 172.20.128.2 multi-host-network container2 ``` -To verify the container is connected, use the `docker network inspect` command. Use `docker network disconnect` to remove a container from the network. +To verify the container is connected, use the `docker network inspect` command. +Use `docker network disconnect` to remove a container from the network. Once connected in network, containers can communicate using only another container's IP address or name. For `overlay` networks or custom plugins that support multi-host connectivity, containers connected to the same multi-host network but launched from different Engines can also communicate in this way. -You can connect a container to one or more networks. The networks need not be the same type. For example, you can connect a single container bridge and overlay networks. +You can connect a container to one or more networks. The networks need not be +the same type. For example, you can connect a single container bridge and overlay +networks. ## Related commands diff --git a/docs/reference/commandline/network_create.md b/docs/reference/commandline/network_create.md index c3b68d37c0..48d72eff90 100644 --- a/docs/reference/commandline/network_create.md +++ b/docs/reference/commandline/network_create.md @@ -184,7 +184,7 @@ network driver, again with their approximate equivalents to `docker daemon`. |--------------|----------------|--------------------------------------------| | `--gateway` | - | IPv4 or IPv6 Gateway for the master subnet | | `--ip-range` | `--fixed-cidr` | Allocate IPs from a range | -| `--internal` | - | Restrict external access to the network | +| `--internal` | - | Restrict external access to the network | | `--ipv6` | `--ipv6` | Enable IPv6 networking | | `--subnet` | `--bip` | Subnet for network | @@ -197,14 +197,14 @@ $ docker network create \ simple-network ``` -### Network internal mode +### Network internal mode (--internal) By default, when you connect a container to an `overlay` network, Docker also connects a bridge network to it to provide external connectivity. If you want to create an externally isolated `overlay` network, you can specify the `--internal` option. -### Network ingress mode +### Network ingress mode (--ingress) 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 diff --git a/docs/reference/commandline/network_inspect.md b/docs/reference/commandline/network_inspect.md index 45dc88d3b4..4873eb053a 100644 --- a/docs/reference/commandline/network_inspect.md +++ b/docs/reference/commandline/network_inspect.md @@ -208,7 +208,7 @@ The output is in JSON format, for example: ] ``` -### Using `verbose` option for `network inspect` +### View detailed information of a network (--verbose) `docker network inspect --verbose` for swarm mode overlay networks shows service-specific details such as the service's VIP and port mappings. It also shows IPs of service tasks, diff --git a/docs/reference/commandline/network_ls.md b/docs/reference/commandline/network_ls.md index 98b43d2909..e1240dbbe0 100644 --- a/docs/reference/commandline/network_ls.md +++ b/docs/reference/commandline/network_ls.md @@ -57,7 +57,7 @@ c288470c46f6c8949c5f7e5099b5b7947b07eabe8d9a27d79a9cbf111adcbf47 host 63d1ff1f77b07ca51070a8c227e962238358bd310bde1529cf62e6c307ade161 dev bridge local ``` -### Filtering +### Filtering (--filter) The filtering flag (`-f` or `--filter`) format is a `key=value` pair. If there is more than one filter, then pass multiple flags (e.g. `--filter "foo=bar" --filter "bif=baz"`). @@ -202,24 +202,24 @@ $ docker network rm `docker network ls --filter type=custom -q` A warning will be issued when trying to remove a network that has containers attached. -### Formatting +### Format the output (--format) The formatting options (`--format`) pretty-prints networks output using a Go template. Valid placeholders for the Go template are listed below: -Placeholder | Description --------------|------------------------------------------------------------------------------------------ -`.ID` | Network ID -`.Name` | Network name -`.Driver` | Network driver -`.Scope` | Network scope (local, global) -`.IPv6` | Whether IPv6 is enabled on the network or not. -`.Internal` | Whether the network is internal or not. -`.Labels` | All labels assigned to the network. -`.Label` | Value of a specific label for this network. For example `{{.Label "project.version"}}` -`.CreatedAt` | Time when the network was created +| Placeholder | Description | +|--------------|----------------------------------------------------------------------------------------| +| `.ID` | Network ID | +| `.Name` | Network name | +| `.Driver` | Network driver | +| `.Scope` | Network scope (local, global) | +| `.IPv6` | Whether IPv6 is enabled on the network or not. | +| `.Internal` | Whether the network is internal or not. | +| `.Labels` | All labels assigned to the network. | +| `.Label` | Value of a specific label for this network. For example `{{.Label "project.version"}}` | +| `.CreatedAt` | Time when the network was created | When using the `--format` option, the `network ls` command will either output the data exactly as the template declares or, when using the diff --git a/docs/reference/commandline/network_prune.md b/docs/reference/commandline/network_prune.md index 3d4e742ed9..5d51d728ff 100644 --- a/docs/reference/commandline/network_prune.md +++ b/docs/reference/commandline/network_prune.md @@ -34,7 +34,7 @@ n1 n2 ``` -### Filtering +### Filtering (--filter) 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"`) diff --git a/docs/reference/commandline/node_inspect.md b/docs/reference/commandline/node_inspect.md index 7a492f5f05..b790dd3337 100644 --- a/docs/reference/commandline/node_inspect.md +++ b/docs/reference/commandline/node_inspect.md @@ -114,7 +114,7 @@ $ docker node inspect swarm-manager ] ``` -### Specify an output format +### Format the output (--format) ```console $ docker node inspect --format '{{ .ManagerStatus.Leader }}' self diff --git a/docs/reference/commandline/node_ls.md b/docs/reference/commandline/node_ls.md index ecc7aa0afc..54d95c1285 100644 --- a/docs/reference/commandline/node_ls.md +++ b/docs/reference/commandline/node_ls.md @@ -57,7 +57,7 @@ e216jshn25ckzbvmwlnh5jr3g * swarm-manager1 Ready Active Leader > `e216jshn25ckzbvmwlnh5jr3g *`) means this node is the current docker daemon. -### Filtering +### Filtering (--filter) The filtering flag (`-f` or `--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"`) @@ -175,23 +175,23 @@ ID HOSTNAME STATUS AVAILABILITY MANAGER STATU e216jshn25ckzbvmwlnh5jr3g * swarm-manager1 Ready Active Leader ``` -### Formatting +### Format the output (--format) The formatting options (`--format`) pretty-prints nodes output using a Go template. Valid placeholders for the Go template are listed below: -Placeholder | Description ------------------|------------------------------------------------------------------------------------------ -`.ID` | Node ID -`.Self` | Node of the daemon (`true/false`, `true`indicates that the node is the same as current docker daemon) -`.Hostname` | Node hostname -`.Status` | Node status -`.Availability` | Node availability ("active", "pause", or "drain") -`.ManagerStatus` | Manager status of the node -`.TLSStatus` | TLS status of the node ("Ready", or "Needs Rotation" has TLS certificate signed by an old CA) -`.EngineVersion` | Engine version +| Placeholder | Description | +|------------------|-------------------------------------------------------------------------------------------------------| +| `.ID` | Node ID | +| `.Self` | Node of the daemon (`true/false`, `true`indicates that the node is the same as current docker daemon) | +| `.Hostname` | Node hostname | +| `.Status` | Node status | +| `.Availability` | Node availability ("active", "pause", or "drain") | +| `.ManagerStatus` | Manager status of the node | +| `.TLSStatus` | TLS status of the node ("Ready", or "Needs Rotation" has TLS certificate signed by an old CA) | +| `.EngineVersion` | Engine version | When using the `--format` option, the `node ls` command will either output the data exactly as the template declares or, when using the diff --git a/docs/reference/commandline/node_ps.md b/docs/reference/commandline/node_ps.md index 45d5176341..3abeda32cf 100644 --- a/docs/reference/commandline/node_ps.md +++ b/docs/reference/commandline/node_ps.md @@ -47,7 +47,7 @@ redis.9.dkkual96p4bb3s6b10r7coxxt redis:3.0.6 swarm-manager1 Running redis.10.0tgctg8h8cech4w0k0gwrmr23 redis:3.0.6 swarm-manager1 Running Running 5 seconds ``` -### Filtering +### Filtering (--filter) The filtering flag (`-f` or `--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"`) @@ -108,23 +108,23 @@ redis.7.bg8c07zzg87di2mufeq51a2qp redis:3.0.6 swarm-manager1 Running R The `desired-state` filter can take the values `running`, `shutdown`, or `accepted`. -### Formatting +### Format the output (--format) The formatting options (`--format`) pretty-prints tasks output using a Go template. Valid placeholders for the Go template are listed below: -Placeholder | Description -----------------|------------------------------------------------------------------------------------------ -`.ID` | Task ID -`.Name` | Task name -`.Image` | Task image -`.Node` | Node ID -`.DesiredState` | Desired state of the task (`running`, `shutdown`, or `accepted`) -`.CurrentState` | Current state of the task -`.Error` | Error -`.Ports` | Task published ports +| Placeholder | Description | +|-----------------|------------------------------------------------------------------| +| `.ID` | Task ID | +| `.Name` | Task name | +| `.Image` | Task image | +| `.Node` | Node ID | +| `.DesiredState` | Desired state of the task (`running`, `shutdown`, or `accepted`) | +| `.CurrentState` | Current state of the task | +| `.Error` | Error | +| `.Ports` | Task published ports | When using the `--format` option, the `node ps` command will either output the data exactly as the template declares or, when using the diff --git a/docs/reference/commandline/node_rm.md b/docs/reference/commandline/node_rm.md index ea334f204b..fb087adf4d 100644 --- a/docs/reference/commandline/node_rm.md +++ b/docs/reference/commandline/node_rm.md @@ -52,7 +52,7 @@ Error response from daemon: rpc error: code = 9 desc = node swarm-node-03 is not down and can't be removed ``` -### Forcibly remove an inaccessible node from a swarm +### Forcibly remove an inaccessible node from a swarm (--force) If you lose access to a worker node or need to shut it down because it has been compromised or is not behaving as expected, you can use the `--force` option. diff --git a/docs/reference/commandline/node_update.md b/docs/reference/commandline/node_update.md index 6ef0b1bd5f..a220360c17 100644 --- a/docs/reference/commandline/node_update.md +++ b/docs/reference/commandline/node_update.md @@ -32,7 +32,7 @@ Update metadata about a node, such as its availability, labels, or roles. ## Examples -### Add label metadata to a node +### Add label metadata to a node (--label-add) Add metadata to a swarm node using node labels. You can specify a node label as a key with an empty value: diff --git a/docs/reference/commandline/plugin_inspect.md b/docs/reference/commandline/plugin_inspect.md index d84f7d68fb..d3f5289e2c 100644 --- a/docs/reference/commandline/plugin_inspect.md +++ b/docs/reference/commandline/plugin_inspect.md @@ -145,7 +145,7 @@ Output is in JSON format (output below is formatted for readability): ``` -### Formatting the output +### Format the output (--format) ```console $ docker plugin inspect -f '{{.Id}}' tiborvass/sample-volume-plugin:latest diff --git a/docs/reference/commandline/plugin_ls.md b/docs/reference/commandline/plugin_ls.md index 2ce47588c0..0fd20af84e 100644 --- a/docs/reference/commandline/plugin_ls.md +++ b/docs/reference/commandline/plugin_ls.md @@ -43,7 +43,7 @@ ID NAME DESCRIPTION 69553ca1d123 tiborvass/sample-volume-plugin:latest A test plugin for Docker true ``` -### Filtering +### Filtering (--filter) The filtering flag (`-f` or `--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"`) @@ -73,20 +73,20 @@ $ docker plugin ls --filter enabled=true ID NAME DESCRIPTION ENABLED ``` -### Formatting +### Format the output (--format) The formatting options (`--format`) pretty-prints plugins output using a Go template. Valid placeholders for the Go template are listed below: -Placeholder | Description --------------------|------------------------------------------------------------ -`.ID` | Plugin ID -`.Name` | Plugin name and tag -`.Description` | Plugin description -`.Enabled` | Whether plugin is enabled or not -`.PluginReference` | The reference used to push/pull from a registry +| Placeholder | Description | +|--------------------|-------------------------------------------------| +| `.ID` | Plugin ID | +| `.Name` | Plugin name and tag | +| `.Description` | Plugin description | +| `.Enabled` | Whether plugin is enabled or not | +| `.PluginReference` | The reference used to push/pull from a registry | When using the `--format` option, the `plugin ls` command will either output the data exactly as the template declares or, when using the diff --git a/docs/reference/commandline/ps.md b/docs/reference/commandline/ps.md index 1f575d7221..8cfba9ab7d 100644 --- a/docs/reference/commandline/ps.md +++ b/docs/reference/commandline/ps.md @@ -46,7 +46,7 @@ Options: ## Examples -### Prevent truncating output +### Do not truncate output (--no-trunc) Running `docker ps --no-trunc` showing 2 linked containers. @@ -58,10 +58,10 @@ CONTAINER ID IMAGE COMMAND CREATED d7886598dbe2 crosbymichael/redis:latest /redis-server --dir 33 minutes ago Up 33 minutes 6379/tcp redis,webapp/db ``` -### Show both running and stopped containers +### Show both running and stopped containers (-a, --all) The `docker ps` command only shows running containers by default. To see all -containers, use the `-a` (or `--all`) flag: +containers, use the `--all` (or `-a`) flag: ```console $ docker ps -a @@ -71,12 +71,12 @@ $ docker ps -a container that exposes TCP ports `100, 101, 102` displays `100-102/tcp` in the `PORTS` column. -### Show disk usage by container +### Show disk usage by container (--size) -The `docker ps -s` command displays two different on-disk-sizes for each container: +The `docker ps --size` (or `-s`) command displays two different on-disk-sizes for each container: ```console -$ docker ps -s +$ docker ps --size CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES SIZE SIZE e90b8831a4b8 nginx "/bin/bash -c 'mkdir " 11 weeks ago Up 4 hours my_nginx 35.58 kB (virtual 109.2 MB) @@ -88,9 +88,9 @@ e90b8831a4b8 nginx "/bin/bash -c 'mkdir " 11 weeks ago Up 4 hours For more information, refer to the [container size on disk](https://docs.docker.com/storage/storagedriver/#container-size-on-disk) section. -### Filtering +### Filtering (--filter) -The filtering flag (`-f` or `--filter`) format is a `key=value` pair. If there is more +The `--filter` (or `-f`) flag format is a `key=value` pair. If there is more than one filter, then pass multiple flags (e.g. `--filter "foo=bar" --filter "bif=baz"`) The currently supported filters are: @@ -399,7 +399,7 @@ $ docker ps --filter publish=80/udp CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES ``` -### Formatting +### Format the output (--format) The formatting option (`--format`) pretty-prints container output using a Go template. @@ -452,7 +452,8 @@ c1d3b0166030 com.docker.swarm.node=debian,com.docker.swarm.cpu=6 ``` To list all running containers in JSON format, use the `json` directive: + ```console $ docker ps --format json {"Command":"\"/docker-entrypoint.…\"","CreatedAt":"2021-03-10 00:15:05 +0100 CET","ID":"a762a2b37a1d","Image":"nginx","Labels":"maintainer=NGINX Docker Maintainers \u003cdocker-maint@nginx.com\u003e","LocalVolumes":"0","Mounts":"","Names":"boring_keldysh","Networks":"bridge","Ports":"80/tcp","RunningFor":"4 seconds ago","Size":"0B","State":"running","Status":"Up 3 seconds"} -``` \ No newline at end of file +``` diff --git a/docs/reference/commandline/pull.md b/docs/reference/commandline/pull.md index 874e05dfbf..cbab29725e 100644 --- a/docs/reference/commandline/pull.md +++ b/docs/reference/commandline/pull.md @@ -189,7 +189,7 @@ registry is allowed to be accessed over an insecure connection. Refer to the [insecure registries](dockerd.md#insecure-registries) section for more information. -### Pull a repository with multiple images +### Pull a repository with multiple images (-a, --all-tags) By default, `docker pull` pulls a *single* image from the registry. A repository can contain multiple images. To pull all images from a repository, provide the diff --git a/docs/reference/commandline/push.md b/docs/reference/commandline/push.md index 5cbb704e18..60e62b8ed2 100644 --- a/docs/reference/commandline/push.md +++ b/docs/reference/commandline/push.md @@ -74,7 +74,7 @@ $ docker image ls You should see both `rhel-httpd` and `registry-host:5000/myadmin/rhel-httpd` listed. -### Push all tags of an image +### Push all tags of an image (-a, --all-tags) Use the `-a` (or `--all-tags`) option to push all tags of a local image. diff --git a/docs/reference/commandline/rm.md b/docs/reference/commandline/rm.md index 703734f5dc..32683c4192 100644 --- a/docs/reference/commandline/rm.md +++ b/docs/reference/commandline/rm.md @@ -30,7 +30,7 @@ $ docker rm /redis /redis ``` -### Remove a link specified with `--link` on the default bridge network +### Remove a link specified with `--link` on the default bridge network (--link) This removes the underlying link between `/webapp` and the `/redis` containers on the default bridge network, removing all network communication @@ -43,7 +43,7 @@ $ docker rm --link /webapp/redis /webapp/redis ``` -### Force-remove a running container +### Force-remove a running container (--force) This command force-removes a running container. @@ -86,10 +86,10 @@ Or, using the `xargs` Linux utility; $ docker ps --filter status=exited -q | xargs docker rm ``` -### Remove a container and its volumes +### Remove a container and its volumes (-v, --volumes) ```console -$ docker rm -v redis +$ docker rm --volumes redis redis ``` diff --git a/docs/reference/commandline/run.md b/docs/reference/commandline/run.md index b45cd7e485..51dd03c87e 100644 --- a/docs/reference/commandline/run.md +++ b/docs/reference/commandline/run.md @@ -161,7 +161,7 @@ For information on connecting a container to a network, see the ["*Docker networ ## Examples -### Assign name and allocate pseudo-TTY (--name, -it) +### Assign name and allocate pseudo-TTY (--name, -it) ```console $ docker run --name test -it debian @@ -180,7 +180,7 @@ In the example, the `bash` shell is quit by entering `exit 13`. This exit code is passed on to the caller of `docker run`, and is recorded in the `test` container's metadata. -### Capture container ID (--cidfile) +### Capture container ID (--cidfile) ```console $ docker run --cidfile /tmp/docker_test.cid ubuntu echo "test" @@ -191,7 +191,7 @@ flag makes Docker attempt to create a new file and write the container ID to it. If the file exists already, Docker will return an error. Docker will close this file when `docker run` exits. -### Full container capabilities (--privileged) +### Full container capabilities (--privileged) ```console $ docker run -t -i --rm ubuntu bash @@ -216,7 +216,7 @@ lifts all the limitations enforced by the `device` cgroup controller. In other words, the container can then do almost everything that the host can do. This flag exists to allow special use-cases, like running Docker within Docker. -### Set working directory (-w) +### Set working directory (-w, --workdir) ```console $ docker run -w /path/to/dir/ -i -t ubuntu pwd @@ -225,7 +225,7 @@ $ docker run -w /path/to/dir/ -i -t ubuntu pwd The `-w` lets the command being executed inside directory given, here `/path/to/dir/`. If the path does not exist it is created inside the container. -### Set storage driver options per container +### Set storage driver options per container (--storage-opt) ```console $ docker run -it --storage-opt size=120G fedora /bin/bash @@ -240,7 +240,7 @@ 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 than the backing fs size. -### Mount tmpfs (--tmpfs) +### Mount tmpfs (--tmpfs) ```console $ docker run -d --tmpfs /run:rw,noexec,nosuid,size=65536k my_image @@ -249,7 +249,7 @@ $ docker run -d --tmpfs /run:rw,noexec,nosuid,size=65536k my_image The `--tmpfs` flag mounts an empty tmpfs into the container with the `rw`, `noexec`, `nosuid`, `size=65536k` options. -### Mount volume (-v, --read-only) +### Mount volume (-v, --read-only) ```console $ docker run -v `pwd`:`pwd` -w `pwd` -i -t ubuntu pwd @@ -315,7 +315,7 @@ docker run -v c:\foo:c:\existing-directory-with-contents ... For in-depth information about volumes, refer to [manage data in containers](https://docs.docker.com/storage/volumes/) -### Add bind mounts or volumes using the --mount flag +### Add bind mounts or volumes using the --mount flag The `--mount` flag allows you to mount volumes, host-directories and `tmpfs` mounts in a container. @@ -337,7 +337,7 @@ $ docker run --read-only --mount type=volume,target=/icanwrite busybox touch /ic $ docker run -t -i --mount type=bind,src=/data,dst=/data busybox sh ``` -### Publish or expose port (-p, --expose) +### Publish or expose port (-p, --expose) ```console $ docker run -p 127.0.0.1:80:8080/tcp ubuntu bash @@ -402,7 +402,7 @@ $ docker run --pull=never hello-world docker: Error response from daemon: No such image: hello-world:latest. ``` -### Set environment variables (-e, --env, --env-file) +### Set environment variables (-e, --env, --env-file) ```console $ docker run -e MYVAR1 --env MYVAR2=foo --env-file ./env.list ubuntu bash @@ -453,7 +453,7 @@ VAR2=value2 USER=jonzeolla ``` -### Set metadata on container (-l, --label, --label-file) +### Set metadata on container (-l, --label, --label-file) A label is a `key=value` pair that applies metadata to a container. To label a container with two labels: @@ -495,7 +495,7 @@ For additional information on working with labels, see [*Labels - custom metadata in Docker*](https://docs.docker.com/config/labels-custom-metadata/) in the Docker User Guide. -### Connect a container to a network (--network) +### Connect a container to a network (--network) When you start a container use the `--network` flag to connect it to a network. This adds the `busybox` container to the `my-net` network. @@ -528,7 +528,7 @@ from different Engines can also communicate in this way. You can disconnect a container from a network using the `docker network disconnect` command. -### Mount volumes from container (--volumes-from) +### Mount volumes from container (--volumes-from) ```console $ docker run --volumes-from 777f7dc92da7 --volumes-from ba8c0c54f0f2:ro -i -t ubuntu pwd @@ -554,11 +554,11 @@ content label. Shared volume labels allow all containers to read/write content. The `Z` option tells Docker to label the content with a private unshared label. Only the current container can use a private volume. -### Attach to STDIN/STDOUT/STDERR (-a) +### Attach to STDIN/STDOUT/STDERR (-a, --attach) -The `-a` flag tells `docker run` to bind to the container's `STDIN`, `STDOUT` -or `STDERR`. This makes it possible to manipulate the output and input as -needed. +The `--attach` (or `-a`) flag tells `docker run` to bind to the container's +`STDIN`, `STDOUT` or `STDERR`. This makes it possible to manipulate the output +and input as needed. ```console $ echo "test" | docker run -i -a stdin ubuntu cat - @@ -585,7 +585,7 @@ logs could be retrieved using `docker logs`. This is useful if you need to pipe a file or something else into a container and retrieve the container's ID once the container has finished running. -### Add host device to container (--device) +### Add host device to container (--device) ```console $ docker run --device=/dev/sdc:/dev/xvdc \ @@ -676,7 +676,7 @@ the required device when it is added. > **Note**: initially present devices still need to be explicitly added to the > `docker run` / `docker create` command. -### Access an NVIDIA GPU +### Access an NVIDIA GPU The `--gpus` flag allows you to access NVIDIA GPU resources. First you need to install [nvidia-container-runtime](https://nvidia.github.io/nvidia-container-runtime/). @@ -703,7 +703,7 @@ The example below exposes the first and third GPUs. $ docker run -it --rm --gpus '"device=0,2"' nvidia-smi ``` -### Restart policies (--restart) +### Restart policies (--restart) Use Docker's `--restart` to specify a container's *restart policy*. A restart policy controls whether the Docker daemon restarts a container after exit. @@ -727,7 +727,7 @@ More detailed information on restart policies can be found in the [Restart Policies (--restart)](../run.md#restart-policies---restart) section of the Docker run reference page. -### Add entries to container hosts file (--add-host) +### Add entries to container hosts file (--add-host) You can add other hosts into a container's `/etc/hosts` file by using one or more `--add-host` flags. This example adds a static address for a host named @@ -765,7 +765,7 @@ For IPv6 use the `-6` flag instead of the `-4` flag. For other network devices, replace `eth0` with the correct device name (for example `docker0` for the bridge device). -### Set ulimits in container (--ulimit) +### Set ulimits in container (--ulimit) Since setting `ulimit` settings in a container requires extra privileges not available in the default container, you can set these using the `--ulimit` flag. @@ -811,7 +811,7 @@ The 4th container fails and reports "[8] System error: resource temporarily unav This fails because the caller set `nproc=3` resulting in the first three containers using up the three processes quota set for the `daemon` user. -### Stop container with signal (--stop-signal) +### Stop container with signal (--stop-signal) The `--stop-signal` flag sets the system call signal that will be sent to the container to exit. This signal can be a signal name in the format `SIG`, @@ -821,12 +821,12 @@ kernel's syscall table, for instance `9`. The default is defined by [`STOPSIGNAL`](https://docs.docker.com/engine/reference/builder/#stopsignal) in the image, or `SIGTERM` if the image has no `STOPSIGNAL` defined. -### Optional security options (--security-opt) +### Optional security options (--security-opt) On Windows, this flag can be used to specify the `credentialspec` option. The `credentialspec` must be in the format `file://spec.txt` or `registry://keyname`. -### Stop container with timeout (--stop-timeout) +### Stop container with timeout (--stop-timeout) The `--stop-timeout` flag sets the number of seconds to wait for the container to stop after sending the pre-defined (see `--stop-signal`) system call signal. @@ -839,7 +839,7 @@ wait indefinitely for the container to exit. The default is determined by the daemon, and is 10 seconds for Linux containers, and 30 seconds for Windows containers. -### Specify isolation technology for container (--isolation) +### Specify isolation technology for container (--isolation) This option is useful in situations where you are running Docker containers on Windows. The `--isolation=` option sets a container's isolation technology. @@ -882,7 +882,7 @@ PS C:\> docker run -d --isolation default microsoft/nanoserver powershell echo h PS C:\> docker run -d --isolation hyperv microsoft/nanoserver powershell echo hyperv ``` -### Specify hard limits on memory available to containers (-m, --memory) +### Specify hard limits on memory available to containers (-m, --memory) These parameters always set an upper limit on the memory available to the container. On Linux, this is set on the cgroup and applications in a container can query it at `/sys/fs/cgroup/memory/memory.limit_in_bytes`. @@ -920,7 +920,7 @@ On Windows, this will affect containers differently depending on what type of is ``` -### Configure namespaced kernel parameters (sysctls) at runtime +### Configure namespaced kernel parameters (sysctls) at runtime (--sysctl) The `--sysctl` sets namespaced kernel parameters (sysctls) in the container. For example, to turn on IP forwarding in the containers diff --git a/docs/reference/commandline/search.md b/docs/reference/commandline/search.md index d47a8257e8..a9fefcb2e6 100644 --- a/docs/reference/commandline/search.md +++ b/docs/reference/commandline/search.md @@ -63,7 +63,7 @@ scottabernethy/busybox marclop/busybox-solr ``` -### Display non-truncated description (--no-trunc) +### Display non-truncated description (--no-trunc) This example displays images with a name containing 'busybox', at least 3 stars and the description isn't truncated in the output: @@ -77,12 +77,12 @@ progrium/busybox radial/busyboxplus Full-chain, Internet enabled, busybox made from scratch. Comes in git and cURL flavors. 8 [OK] ``` -### Limit search results (--limit) +### Limit search results (--limit) The flag `--limit` is the maximum number of results returned by a search. If no value is set, the default is set by the daemon. -### Filtering +### Filtering (--filter) The filtering flag (`-f` or `--filter`) format is a `key=value` pair. If there is more than one filter, then pass multiple flags (e.g. `--filter is-automated=true --filter stars=3`) @@ -132,7 +132,7 @@ NAME DESCRIPTION STARS OFFICIAL AUTOMATED busybox Busybox base image. 325 [OK] ``` -### Format the output +### Format the output (--format) The formatting option (`--format`) pretty-prints search output using a Go template. @@ -140,7 +140,7 @@ using a Go template. Valid placeholders for the Go template are: | Placeholder | Description | -| -------------- | --------------------------------- | +|----------------|-----------------------------------| | `.Name` | Image Name | | `.Description` | Image description | | `.StarCount` | Number of stars for the image | diff --git a/docs/reference/commandline/secret_create.md b/docs/reference/commandline/secret_create.md index f09ffbd3c9..57a01782cc 100644 --- a/docs/reference/commandline/secret_create.md +++ b/docs/reference/commandline/secret_create.md @@ -57,7 +57,7 @@ ID NAME CREATED UPDATED dg426haahpi5ezmkkj5kyl3sn my_secret 7 seconds ago 7 seconds ago ``` -### Create a secret with labels +### Create a secret with labels (--label) ```console $ docker secret create \ diff --git a/docs/reference/commandline/secret_inspect.md b/docs/reference/commandline/secret_inspect.md index 67ce7a2763..62c2c94caa 100644 --- a/docs/reference/commandline/secret_inspect.md +++ b/docs/reference/commandline/secret_inspect.md @@ -80,7 +80,7 @@ The output is in JSON format, for example: ] ``` -### Formatting +### Format the output (--format) You can use the --format option to obtain specific information about a secret. The following example command outputs the creation time of the diff --git a/docs/reference/commandline/secret_ls.md b/docs/reference/commandline/secret_ls.md index ec5b1a4348..226a8edbeb 100644 --- a/docs/reference/commandline/secret_ls.md +++ b/docs/reference/commandline/secret_ls.md @@ -51,7 +51,7 @@ ID NAME CREATED UPDA mem02h8n73mybpgqjf0kfi1n0 test_secret 3 seconds ago 3 seconds ago ``` -### Filtering +### Filtering (--filter) The filtering flag (`-f` or `--filter`) format is a `key=value` pair. If there is more than one filter, then pass multiple flags (e.g., `--filter "foo=bar" --filter "bif=baz"`) @@ -111,7 +111,7 @@ ID NAME CREATED UPDA mem02h8n73mybpgqjf0kfi1n0 test_secret About an hour ago About an hour ago ``` -### Format the output +### Format the output (--format) The formatting option (`--format`) pretty prints secrets output using a Go template. @@ -119,7 +119,7 @@ using a Go template. Valid placeholders for the Go template are listed below: | Placeholder | Description | -| ------------ | ------------------------------------------------------------------------------------ | +|--------------|--------------------------------------------------------------------------------------| | `.ID` | Secret ID | | `.Name` | Secret name | | `.CreatedAt` | Time when the secret was created | diff --git a/docs/reference/commandline/service_create.md b/docs/reference/commandline/service_create.md index 77f8caf4bd..008fe61bb1 100644 --- a/docs/reference/commandline/service_create.md +++ b/docs/reference/commandline/service_create.md @@ -117,7 +117,7 @@ dmu1ept4cxcf redis replicated 1/1 redis:3.0.6 a8q9dasaafud redis2 global 1/1 redis:3.0.6 ``` -#### Create a service using an image on a private registry +#### Create a service using an image on a private registry (--with-registry-auth) If your image is available on a private registry which requires login, use the `--with-registry-auth` flag with `docker service create`, after logging in. If @@ -137,7 +137,7 @@ This passes the login token from your local client to the swarm nodes where the service is deployed, using the encrypted WAL logs. With this information, the nodes are able to log into the registry and pull the image. -### Create a service with 5 replica tasks (--replicas) +### 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: @@ -173,7 +173,7 @@ ID NAME MODE REPLICAS IMAGE 4cdgfyky7ozw redis replicated 5/5 redis:3.0.7 ``` -### Create a service with secrets +### Create a service with secrets (--secret) Use the `--secret` flag to give a container access to a [secret](secret_create.md). @@ -205,7 +205,7 @@ in the container. If a target is specified, that is used as the filename. In the example above, two files are created: `/run/secrets/ssh` and `/run/secrets/app` for each of the secret targets specified. -### Create a service with configs +### Create a service with configs (--config) Use the `--config` flag to give a container access to a [config](config_create.md). @@ -234,7 +234,7 @@ Configs are located in `/` in the container if no target is specified. If no target is specified, the name of the config is used as the name of the file in the container. If a target is specified, that is used as the filename. -### Create a service with a rolling update policy +### Create a service with a rolling update policy ```console $ docker service create \ @@ -250,7 +250,7 @@ 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) +### Set environment variables (-e, --env) This sets an environment variable for all tasks in a service. For example: @@ -274,7 +274,7 @@ $ docker service create \ redis:3.0.6 ``` -### Create a service with specific hostname (--hostname) +### Create a service with specific hostname (--hostname) This option sets the docker service containers hostname to a specific string. For example: @@ -283,7 +283,7 @@ For example: $ docker service create --name redis --hostname myredis redis:3.0.6 ``` -### Set metadata on a service (-l, --label) +### 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: @@ -662,7 +662,7 @@ $ docker service create \ redis:3.0.6 ``` -### Specify service constraints (--constraint) +### Specify service constraints (--constraint) You can limit the set of nodes where a task can be scheduled by defining constraint expressions. Constraint expressions can either use a _match_ (`==`) @@ -670,16 +670,15 @@ or _exclude_ (`!=`) rule. Multiple constraints find nodes that satisfy every expression (AND match). Constraints can match node or Docker Engine labels as follows: -node attribute | matches | example ----------------------|--------------------------------|----------------------------------------------- -`node.id` | Node ID | `node.id==2ivku8v2gvtg4` -`node.hostname` | Node hostname | `node.hostname!=node-2` -`node.role` | Node role (`manager`/`worker`) | `node.role==manager` -`node.platform.os` | Node operating system | `node.platform.os==windows` -`node.platform.arch` | Node architecture | `node.platform.arch==x86_64` -`node.labels` | User-defined node labels | `node.labels.security==high` -`engine.labels` | Docker Engine's labels | `engine.labels.operatingsystem==ubuntu-14.04` - +| node attribute | matches | example | +|----------------------|--------------------------------|-----------------------------------------------| +| `node.id` | Node ID | `node.id==2ivku8v2gvtg4` | +| `node.hostname` | Node hostname | `node.hostname!=node-2` | +| `node.role` | Node role (`manager`/`worker`) | `node.role==manager` | +| `node.platform.os` | Node operating system | `node.platform.os==windows` | +| `node.platform.arch` | Node architecture | `node.platform.arch==x86_64` | +| `node.labels` | User-defined node labels | `node.labels.security==high` | +| `engine.labels` | Docker Engine's labels | `engine.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 @@ -730,7 +729,7 @@ ID NAME MODE REPLICAS IMAGE PORTS b6lww17hrr4e web replicated 1/1 nginx:alpine ``` -### Specify service placement preferences (--placement-pref) +### 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 @@ -801,7 +800,7 @@ appends a new placement preference after all existing placement preferences. `--placement-pref-rm` removes an existing placement preference that matches the argument. -### Specify memory requirements and constraints for a service (--reserve-memory and --limit-memory) +### Specify memory requirements and constraints for a service (--reserve-memory and --limit-memory) If your service needs a minimum amount of memory in order to run correctly, you can use `--reserve-memory` to specify that the service should only be @@ -869,7 +868,7 @@ On Linux, you can also limit a service's overall memory footprint on a given host at the level of the host operating system, using `cgroups` or other relevant operating system tools. -### Specify maximum replicas per node (--replicas-max-per-node) +### Specify maximum replicas per node (--replicas-max-per-node) Use the `--replicas-max-per-node` flag to set the maximum number of replica tasks that can run on a node. The following command creates a nginx service with 2 replica tasks but only one replica task per node. @@ -889,7 +888,7 @@ $ docker service create \ nginx ``` -### Attach a service to an existing network (--network) +### Attach a service to an existing network (--network) You can use overlay networks to connect one or more services within the swarm. @@ -926,7 +925,7 @@ Containers on the same network can access each other using Long form syntax of `--network` allows to specify list of aliases and driver options: `--network name=my-network,alias=web1,driver-opt=field1=value1` -### Publish service ports externally to the swarm (-p, --publish) +### 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 @@ -997,7 +996,7 @@ 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) +### Provide credential specs for managed service accounts (--credentials-spec) This option is only used for services using Windows containers. The `--credential-spec` must be in the format `file://` or @@ -1092,7 +1091,7 @@ $ docker inspect --format="{{.Config.Hostname}}" 2e7a8a9c4da2-wo41w8hg8qanxwjwsg x3ti0erg11rjpg64m75kej2mz-hosttempl ``` -### Specify isolation mode (Windows) +### Specify isolation mode on Windows (--isolation) By default, tasks scheduled on Windows nodes are run using the default isolation mode configured for this particular node. To force a specific isolation mode, you can use @@ -1107,7 +1106,7 @@ Supported isolation modes on Windows are: - `process`: use process isolation (Windows server only) - `hyperv`: use Hyper-V isolation -### Create services requesting Generic Resources +### Create services requesting Generic Resources (--generic-resources) You can narrow the kind of nodes your task can land on through the using the `--generic-resource` flag (if the nodes advertise these resources): diff --git a/docs/reference/commandline/service_inspect.md b/docs/reference/commandline/service_inspect.md index 791244d939..02772c9ff2 100644 --- a/docs/reference/commandline/service_inspect.md +++ b/docs/reference/commandline/service_inspect.md @@ -116,7 +116,7 @@ $ docker service inspect dmu1ept4cxcf ] ``` -### Formatting +### Formatting (--pretty) You can print the inspect output in a human-readable format instead of the default JSON output, by using the `--pretty` option: diff --git a/docs/reference/commandline/service_ls.md b/docs/reference/commandline/service_ls.md index b9bf1c1033..6e08183d5f 100644 --- a/docs/reference/commandline/service_ls.md +++ b/docs/reference/commandline/service_ls.md @@ -56,7 +56,7 @@ the service. If the service is in `replicated-job` or `global-job`, it will additionally show the completion status of the job as completed tasks over total tasks the job will execute. -### Filtering +### Filtering (--filter) The filtering flag (`-f` or `--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"`) @@ -128,21 +128,21 @@ ID NAME MODE REPLICAS IMAGE 0bcjwfh8ychr redis replicated 1/1 redis:3.0.6 ``` -### Formatting +### Format the output (--format) The formatting options (`--format`) pretty-prints services output using a Go template. Valid placeholders for the Go template are listed below: -Placeholder | Description -------------|------------------------------------------------------------------------------------------ -`.ID` | Service ID -`.Name` | Service name -`.Mode` | Service mode (replicated, global) -`.Replicas` | Service replicas -`.Image` | Service image -`.Ports` | Service ports published in ingress mode +| Placeholder | Description | +|-------------|-----------------------------------------| +| `.ID` | Service ID | +| `.Name` | Service name | +| `.Mode` | Service mode (replicated, global) | +| `.Replicas` | Service replicas | +| `.Image` | Service image | +| `.Ports` | Service ports published in ingress mode | When using the `--format` option, the `service ls` command will either output the data exactly as the template declares or, when using the @@ -159,6 +159,7 @@ fm6uf97exkul: global 5/5 ``` To list all services in JSON format, use the `json` directive: + ```console $ docker service ls --format json {"ID":"ssniordqolsi","Image":"hello-world:latest","Mode":"replicated","Name":"hello","Ports":"","Replicas":"0/1"} diff --git a/docs/reference/commandline/service_ps.md b/docs/reference/commandline/service_ps.md index 2e0ba6bef5..bf1861c283 100644 --- a/docs/reference/commandline/service_ps.md +++ b/docs/reference/commandline/service_ps.md @@ -93,7 +93,7 @@ bk658fpbex0d57cqcwoe3jthu redis.2 redis:3.0.6@sha256:6a692a76c2081888b589 nvjljf7rmor4htv7l8rwcx7i7 \_ redis.2 redis:3.0.6@sha256:6a692a76c2081888b589e26e6ec835743119fe453d67ecf03df7de5b73d69842 worker2 Shutdown Rejected 5 minutes ago "No such image: redis@sha256:6a692a76c2081888b589e26e6ec835743119fe453d67ecf03df7de5b73d69842" ``` -### Filtering +### Filtering (--filter) The filtering flag (`-f` or `--filter`) format is a `key=value` pair. If there is more than one filter, then pass multiple flags (e.g. `--filter "foo=bar" --filter "bif=baz"`). @@ -150,23 +150,23 @@ ID NAME IMAGE NODE DESIRED STATE CURRENT STATE The `desired-state` filter can take the values `running`, `shutdown`, or `accepted`. -### Formatting +### Format the output (--format) The formatting options (`--format`) pretty-prints tasks output using a Go template. Valid placeholders for the Go template are listed below: -Placeholder | Description -----------------|------------------------------------------------------------------------------------------ -`.ID` | Task ID -`.Name` | Task name -`.Image` | Task image -`.Node` | Node ID -`.DesiredState` | Desired state of the task (`running`, `shutdown`, or `accepted`) -`.CurrentState` | Current state of the task -`.Error` | Error -`.Ports` | Task published ports +| Placeholder | Description | +|-----------------|------------------------------------------------------------------| +| `.ID` | Task ID | +| `.Name` | Task name | +| `.Image` | Task image | +| `.Node` | Node ID | +| `.DesiredState` | Desired state of the task (`running`, `shutdown`, or `accepted`) | +| `.CurrentState` | Current state of the task | +| `.Error` | Error | +| `.Ports` | Task published ports | When using the `--format` option, the `service ps` command will either output the data exactly as the template declares or, when using the diff --git a/docs/reference/commandline/service_update.md b/docs/reference/commandline/service_update.md index a1545ae979..95a49d6a3a 100644 --- a/docs/reference/commandline/service_update.md +++ b/docs/reference/commandline/service_update.md @@ -131,7 +131,7 @@ rolling restart without any changes to the service parameters. $ docker service update --limit-cpu 2 redis ``` -### Perform a rolling restart with no parameter changes +### Perform a rolling restart with no parameter changes ```console $ docker service update --force --update-parallelism 1 --update-delay 30s redis @@ -144,7 +144,7 @@ that only one task is replaced at a time (this is the default behavior). The `--update-delay 30s` setting introduces a 30 second delay between tasks, so that the rolling restart happens gradually. -### Add or remove mounts +### Add or remove mounts (--mount-add, --mount-rm) Use the `--mount-add` or `--mount-rm` options add or remove a service's bind mounts or volumes. @@ -180,7 +180,7 @@ $ docker service update --mount-rm /somewhere myservice myservice ``` -### Add or remove published service ports +### Add or remove published service ports (--publish-add, --publish-rm) 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 @@ -195,7 +195,7 @@ $ docker service update \ myservice ``` -### Add or remove network +### Add or remove network (--network-add, --network-rm) Use the `--network-add` or `--network-rm` flags to add or remove a network for a service. You can use the short or long syntax discussed in the @@ -211,7 +211,7 @@ $ docker service update \ myservice ``` -### Roll back to the previous version of a service +### Roll back to the previous version of a service (--rollback) Use the `--rollback` option to roll back to the previous version of the service. @@ -277,7 +277,7 @@ will update one task at a time during a normal update, but during a rollback, 3 tasks at a time will get rolled back. These rollback parameters are respected both during automatic rollbacks and for rollbacks initiated manually using `--rollback`. -### Add or remove secrets +### Add or remove secrets (--secret-add, --secret-rm) Use the `--secret-add` or `--secret-rm` options add or remove a service's secrets. @@ -297,7 +297,7 @@ Some flags of `service update` support the use of templating. See [`service create`](service_create.md#create-services-using-templates) for the reference. -### Specify isolation mode (Windows) +### Specify isolation mode on Windows (--isolation) `service update` supports the same `--isolation` flag as `service create` See [`service create`](service_create.md) for the reference. diff --git a/docs/reference/commandline/stack_deploy.md b/docs/reference/commandline/stack_deploy.md index cfd4501ae8..fcce61643f 100644 --- a/docs/reference/commandline/stack_deploy.md +++ b/docs/reference/commandline/stack_deploy.md @@ -36,7 +36,7 @@ Create and update a stack from a `compose` file on the swarm. ## Examples -### Compose file +### Compose file (--compose-file) The `deploy` command supports compose file version `3.0` and above. diff --git a/docs/reference/commandline/stack_ls.md b/docs/reference/commandline/stack_ls.md index d6b7dccabc..a463c74f54 100644 --- a/docs/reference/commandline/stack_ls.md +++ b/docs/reference/commandline/stack_ls.md @@ -47,14 +47,14 @@ myapp 2 Kubernetes vossibility-stack 6 Swarm ``` -### Formatting +### Format the output (--format) The formatting option (`--format`) pretty-prints stacks using a Go template. Valid placeholders for the Go template are listed below: | Placeholder | Description | -| --------------- | ------------------ | +|-----------------|--------------------| | `.Name` | Stack name | | `.Services` | Number of services | | `.Orchestrator` | Orchestrator name | @@ -74,6 +74,7 @@ web-cache: 4 ``` To list all stacks in JSON format, use the `json` directive: + ```console $ docker stack ls --format json {"Name":"myapp","Namespace":"","Orchestrator":"Swarm","Services":"3"} diff --git a/docs/reference/commandline/stack_ps.md b/docs/reference/commandline/stack_ps.md index 0f124f9df9..85a1e24735 100644 --- a/docs/reference/commandline/stack_ps.md +++ b/docs/reference/commandline/stack_ps.md @@ -56,7 +56,7 @@ kqgdmededccb voting_vote.2 dockersamples/examplevotingapp_vote:be t72q3z038jeh voting_redis.2 redis:alpine node3 Running Running 3 minutes ago ``` -### Filtering +### Filtering (--filter) The filtering flag (`-f` or `--filter`) format is a `key=value` pair. If there is more than one filter, then pass multiple flags (e.g. `--filter "foo=bar" --filter "bif=baz"`). @@ -125,22 +125,22 @@ kqgdmededccb voting_vote.2 dockersamples/examplevotingapp_vote:be t72q3z038jeh voting_redis.2 redis:alpine node3 Running Running 21 minutes ago ``` -### Formatting +### Format the output (--format) The formatting options (`--format`) pretty-prints tasks output using a Go template. Valid placeholders for the Go template are listed below: -Placeholder | Description -----------------|------------------------------------------------------------------------------------------ -`.ID` | Task ID -`.Name` | Task name -`.Image` | Task image -`.Node` | Node ID -`.DesiredState` | Desired state of the task (`running`, `shutdown`, or `accepted`) -`.CurrentState` | Current state of the task -`.Error` | Error -`.Ports` | Task published ports +| Placeholder | Description | +|-----------------|------------------------------------------------------------------| +| `.ID` | Task ID | +| `.Name` | Task name | +| `.Image` | Task image | +| `.Node` | Node ID | +| `.DesiredState` | Desired state of the task (`running`, `shutdown`, or `accepted`) | +| `.CurrentState` | Current state of the task | +| `.Error` | Error | +| `.Ports` | Task published ports | When using the `--format` option, the `stack ps` command will either output the data exactly as the template declares or, when using the @@ -170,7 +170,7 @@ $ docker stack ps --format json myapp {"CurrentState":"Preparing 13 seconds ago","DesiredState":"Running","Error":"","ID":"yte68ouq7glh","Image":"postgres:13.2-alpine","Name":"myapp_repos-db.1","Node":"docker-desktop","Ports":""} ``` -### Do not map IDs to Names +### Do not map IDs to Names (--no-resolve) The `--no-resolve` option shows IDs for task name, without mapping IDs to Names. @@ -188,7 +188,7 @@ kqgdmededccb qyprtqw1g5nrki557i974ou1d.2 dockersamples/examplevotingapp t72q3z038jeh tg61x8myx563ueo3urmn1ic6m.2 redis:alpine kanqcxfajd1r16wlnqcblobmm Running Running 31 minutes ago ``` -### Do not truncate output +### Do not truncate output (--no-trunc) When deploying a service, docker resolves the digest for the service's image, and pins the service to that digest. The digest is not shown by @@ -209,7 +209,7 @@ kqgdmededccbhz2wuc0e9hx7g voting_vote.2 dockersamples/examplevotingapp t72q3z038jehe1wbh9gdum076 voting_redis.2 redis:alpine@sha256:9cd405cd1ec1410eaab064a1383d0d8854d1ef74a54e1e4a92fb4ec7bdc3ee7 node3 Running Runnin 32 minutes ago ``` -### Only display task IDs +### Only display task IDs (-q, --quiet) The `-q ` or `--quiet` option only shows IDs of the tasks in the stack. This example outputs all task IDs of the "voting" stack; diff --git a/docs/reference/commandline/stack_services.md b/docs/reference/commandline/stack_services.md index ba58179c56..3531b55bc6 100644 --- a/docs/reference/commandline/stack_services.md +++ b/docs/reference/commandline/stack_services.md @@ -46,7 +46,7 @@ ID NAME REPLICAS IMAGE dn7m7nhhfb9y myapp_db 1/1 mysql@sha256:a9a5b559f8821fe73d58c3606c812d1c044868d42c63817fa5125fd9d8b7b539 ``` -### Filtering +### Filtering (--filter) The filtering flag (`-f` or `--filter`) format is a `key=value` pair. If there is more than one filter, then pass multiple flags (e.g. `--filter "foo=bar" --filter "bif=baz"`). @@ -74,20 +74,20 @@ The currently supported filters are: * service (`--filter service=web`) * Swarm: not supported -### Formatting +### Format the output (--format) The formatting options (`--format`) pretty-prints services output using a Go template. Valid placeholders for the Go template are listed below: -Placeholder | Description -------------|------------------------------------------------------------------- -`.ID` | Service ID -`.Name` | Service name -`.Mode` | Service mode (replicated, global) -`.Replicas` | Service replicas -`.Image` | Service image +| Placeholder | Description | +|-------------|-----------------------------------| +| `.ID` | Service ID | +| `.Name` | Service name | +| `.Mode` | Service mode (replicated, global) | +| `.Replicas` | Service replicas | +| `.Image` | Service image | When using the `--format` option, the `stack services` command will either output the data exactly as the template declares or, when using the @@ -104,6 +104,7 @@ fm6uf97exkul: global 5/5 ``` To list all services in JSON format, use the `json` directive: + ```console $ docker stack services ls --format json {"ID":"0axqbl293vwm","Image":"localstack/localstack:latest","Mode":"replicated","Name":"myapp_localstack","Ports":"*:4566-\u003e4566/tcp, *:8080-\u003e8080/tcp","Replicas":"0/1"} diff --git a/docs/reference/commandline/stats.md b/docs/reference/commandline/stats.md index 0c08903079..b75dc42f19 100644 --- a/docs/reference/commandline/stats.md +++ b/docs/reference/commandline/stats.md @@ -131,25 +131,24 @@ CONTAINER ID NAME CPU % PRIV WORKING SET 9db7aa4d986d mad_wilson 9.59% 40.09 MiB 27.6 kB / 8.81 kB 17 MB / 20.1 MB ``` -### Formatting +### Format the output (--format) The formatting option (`--format`) pretty prints container output using a Go template. Valid placeholders for the Go template are listed below: -Placeholder | Description ------------- | -------------------------------------------- -`.Container` | Container name or ID (user input) -`.Name` | Container name -`.ID` | Container ID -`.CPUPerc` | CPU percentage -`.MemUsage` | Memory usage -`.NetIO` | Network IO -`.BlockIO` | Block IO -`.MemPerc` | Memory percentage (Not available on Windows) -`.PIDs` | Number of PIDs (Not available on Windows) - +| Placeholder | Description | +|--------------|----------------------------------------------| +| `.Container` | Container name or ID (user input) | +| `.Name` | Container name | +| `.ID` | Container ID | +| `.CPUPerc` | CPU percentage | +| `.MemUsage` | Memory usage | +| `.NetIO` | Network IO | +| `.BlockIO` | Block IO | +| `.MemPerc` | Memory percentage (Not available on Windows) | +| `.PIDs` | Number of PIDs (Not available on Windows) | When using the `--format` option, the `stats` command either outputs the data exactly as the template declares or, when using the diff --git a/docs/reference/commandline/swarm_ca.md b/docs/reference/commandline/swarm_ca.md index c51157ca82..8f88897ef5 100644 --- a/docs/reference/commandline/swarm_ca.md +++ b/docs/reference/commandline/swarm_ca.md @@ -83,7 +83,7 @@ gyg5u9Iliel99l7SuMhNeLkrU7fXs+Of1nTyyM73ig== -----END CERTIFICATE----- ``` -### `--rotate` +### Root CA rotation (--rotate) Root CA Rotation is recommended if one or more of the swarm managers have been compromised, so that those managers can no longer connect to or be trusted by @@ -106,7 +106,7 @@ reasonable amount of time, try running see if any nodes are down or otherwise unable to rotate TLS certificates. -### `--detach` +### Run root CA rotation in detached mode (--detach) Initiate the root CA rotation, but do not wait for the completion of or display the progress of the rotation. diff --git a/docs/reference/commandline/system_df.md b/docs/reference/commandline/system_df.md index fe72cc53fe..cae8cdd3ac 100644 --- a/docs/reference/commandline/system_df.md +++ b/docs/reference/commandline/system_df.md @@ -84,7 +84,7 @@ volumes or in systems where some images, containers, or volumes have very large filesystems with many files. You should also be careful not to run this command in systems where performance is critical. -## Format the output +### Format the output (--format) The formatting option (`--format`) pretty prints the disk usage output using a Go template. @@ -92,7 +92,7 @@ using a Go template. Valid placeholders for the Go template are listed below: | Placeholder | Description | -| -------------- | ------------------------------------------ | +|----------------|--------------------------------------------| | `.Type` | `Images`, `Containers` and `Local Volumes` | | `.TotalCount` | Total number of items | | `.Active` | Number of active items | @@ -128,6 +128,7 @@ Local Volumes 150.3 MB 150.3 MB (100%) ``` To list all information in JSON format, use the `json` directive: + ```console $ docker system df --format json {"Active":"2","Reclaimable":"2.498GB (94%)","Size":"2.631GB","TotalCount":"6","Type":"Images"} @@ -136,7 +137,7 @@ $ docker system df --format json {"Active":"0","Reclaimable":"158B","Size":"158B","TotalCount":"17","Type":"Build Cache"} ``` -**Note** the format option is meaningless when verbose is true. +The format option has no effect when the `--verbose` option is used. ## Related commands * [system prune](system_prune.md) diff --git a/docs/reference/commandline/system_events.md b/docs/reference/commandline/system_events.md index f9d7fe7365..7648eb3590 100644 --- a/docs/reference/commandline/system_events.md +++ b/docs/reference/commandline/system_events.md @@ -117,7 +117,7 @@ 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. -#### Filtering +#### Filtering (--filter) The filtering flag (`-f` or `--filter`) format is of "key=value". If you would like to use multiple filters, pass multiple flags (e.g., @@ -143,16 +143,6 @@ The currently supported filters are: * type (`type=`) * volume (`volume=`) -#### Format - -If a format (`--format`) is specified, the given template will be executed -instead of the default -format. Go's [text/template](https://golang.org/pkg/text/template/) package -describes all the details of the format. - -If a format is set to `{{json .}}`, the events are streamed as valid JSON -Lines. For information about JSON Lines, please refer to https://jsonlines.org/ . - ## Examples ### Basic example @@ -314,7 +304,11 @@ $ docker system events --filter 'type=plugin' 2016-07-25T17:30:14.888127370Z plugin enable ec7b87f2ce84330fe076e666f17dfc049d2d7ae0b8190763de94e1f2d105993f (name=tiborvass/sample-volume-plugin:latest) ``` -### Format the output +### Format the output (--format) + +If a format (`--format`) is specified, the given template will be executed +instead of the default format. Go's [text/template](https://golang.org/pkg/text/template/) +package describes all the details of the format. ```console $ docker system events --filter 'type=container' --format 'Type={{.Type}} Status={{.Status}} ID={{.ID}}' @@ -329,6 +323,9 @@ Type=container Status=destroy ID=2ee349dac409e97974ce8d01b70d250b85e0ba8189299 #### Format as JSON +If a format is set to `{{json .}}`, the events are streamed as valid JSON +Lines. For information about JSON Lines, please refer to https://jsonlines.org/ . + ```console $ docker system events --format '{{json .}}' diff --git a/docs/reference/commandline/system_prune.md b/docs/reference/commandline/system_prune.md index 19213bae0c..80ba85ce44 100644 --- a/docs/reference/commandline/system_prune.md +++ b/docs/reference/commandline/system_prune.md @@ -97,7 +97,7 @@ deleted: sha256:3a88a5c81eb5c283e72db2dbc6d65cbfd8e80b6c89bb6e714cfaaa0eed99c548 Total reclaimed space: 13.5 MB ``` -### Filtering +### Filtering (--filter) 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"`) diff --git a/docs/reference/commandline/update.md b/docs/reference/commandline/update.md index 3264a4b468..f8a1d08ac0 100644 --- a/docs/reference/commandline/update.md +++ b/docs/reference/commandline/update.md @@ -53,7 +53,7 @@ a running container with kernel memory initialized. The following sections illustrate ways to use this command. -### Update a container's cpu-shares +### Update a container's cpu-shares (--cpu-shares) To limit a container's cpu-shares to 512, first identify the container name or ID. You can use `docker ps` to find these values. You can also @@ -63,7 +63,7 @@ use the ID returned from the `docker run` command. Then, do the following: $ docker update --cpu-shares 512 abebf7571666 ``` -### Update a container with cpu-shares and memory +### Update a container with cpu-shares and memory (-m, --memory) To update multiple resource configurations for multiple containers: @@ -71,7 +71,7 @@ To update multiple resource configurations for multiple containers: $ docker update --cpu-shares 512 -m 300M abebf7571666 hopeful_morse ``` -### Update a container's kernel memory constraints +### Update a container's kernel memory constraints (--kernel-memory) You can update a container's kernel memory limit using the `--kernel-memory` option. On kernel version older than 4.6, this option can be updated on a @@ -108,7 +108,7 @@ start it, the container uses the new value. Kernel version newer than (include) 4.6 does not have this limitation, you can use `--kernel-memory` the same way as other options. -### Update a container's restart policy +### Update a container's restart policy (--restart) You can change a container's restart policy on a running container. The new restart policy takes effect instantly after you run `docker update` on a diff --git a/docs/reference/commandline/volume_create.md b/docs/reference/commandline/volume_create.md index c2054d1899..12a9bdbd68 100644 --- a/docs/reference/commandline/volume_create.md +++ b/docs/reference/commandline/volume_create.md @@ -53,7 +53,7 @@ A volume named "hello" already exists with the "some-other" driver. Choose a d If you specify a volume name already in use on the current driver, Docker assumes you want to re-use the existing volume and does not return an error. -### Driver-specific options +### Driver-specific options (-o, --opt) Some volume drivers may take options to customize the volume creation. Use the `-o` or `--opt` flags to pass driver options: diff --git a/docs/reference/commandline/volume_inspect.md b/docs/reference/commandline/volume_inspect.md index 86eab1e46c..a08a59200a 100644 --- a/docs/reference/commandline/volume_inspect.md +++ b/docs/reference/commandline/volume_inspect.md @@ -57,6 +57,8 @@ The output is in JSON format, for example: ] ``` +### Format the output (--format) + Use the `--format` flag to format the output using a Go template, for example, to print the `Mountpoint` property: diff --git a/docs/reference/commandline/volume_ls.md b/docs/reference/commandline/volume_ls.md index 4bf7ad75e2..a3a3ca190b 100644 --- a/docs/reference/commandline/volume_ls.md +++ b/docs/reference/commandline/volume_ls.md @@ -156,21 +156,21 @@ DRIVER VOLUME NAME local rosemary ``` -### Formatting +### Format the output (--format) The formatting options (`--format`) pretty-prints volumes output using a Go template. Valid placeholders for the Go template are listed below: -Placeholder | Description ---------------|------------------------------------------------------------------------------------------ -`.Name` | Volume name -`.Driver` | Volume driver -`.Scope` | Volume scope (local, global) -`.Mountpoint` | The mount point of the volume on the host -`.Labels` | All labels assigned to the volume -`.Label` | Value of a specific label for this volume. For example `{{.Label "project.version"}}` +| Placeholder | Description | +|---------------|---------------------------------------------------------------------------------------| +| `.Name` | Volume name | +| `.Driver` | Volume driver | +| `.Scope` | Volume scope (local, global) | +| `.Mountpoint` | The mount point of the volume on the host | +| `.Labels` | All labels assigned to the volume | +| `.Label` | Value of a specific label for this volume. For example `{{.Label "project.version"}}` | When using the `--format` option, the `volume ls` command will either output the data exactly as the template declares or, when using the @@ -188,6 +188,7 @@ vol3: local ``` To list all volumes in JSON format, use the `json` directive: + ```console $ docker volume ls --format json {"Driver":"local","Labels":"","Links":"N/A","Mountpoint":"/var/lib/docker/volumes/docker-cli-dev-cache/_data","Name":"docker-cli-dev-cache","Scope":"local","Size":"N/A"} diff --git a/docs/reference/commandline/volume_prune.md b/docs/reference/commandline/volume_prune.md index 00eeff3332..ccff416c65 100644 --- a/docs/reference/commandline/volume_prune.md +++ b/docs/reference/commandline/volume_prune.md @@ -35,7 +35,7 @@ my-named-vol Total reclaimed space: 36 B ``` -## Filtering +### Filtering (--filter) 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"`)