Merge pull request #19045 from dvdksn/cli-canonical-reference-urls

Canonical CLI / moby 25
This commit is contained in:
David Karlsson 2024-01-19 16:30:19 +01:00 committed by GitHub
commit ade4ebd4a6
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
266 changed files with 19200 additions and 7940 deletions

View File

@ -50,8 +50,11 @@ The table below provides an overview of the current status of deprecated feature
| Status | Feature | Deprecated | Remove |
|------------|------------------------------------------------------------------------------------------------------------------------------------|------------|--------|
| Deprecated | [logentries logging driver](#logentries-logging-driver) | v24.0 | v25.0 |
| Deprecated | [OOM-score adjust for the daemon](#oom-score-adjust-for-the-daemon) | v24.0 | v25.0 |
| Deprecated | [Deprecate legacy API versions](#deprecate-legacy-api-versions) | v25.0 | v26.0 |
| Deprecated | [Container short ID in network Aliases field](#container-short-id-in-network-aliases-field) | v25.0 | v26.0 |
| Deprecated | [IsAutomated field, and "is-automated" filter on docker search](#isautomated-field-and-is-automated-filter-on-docker-search) | v25.0 | v26.0 |
| Removed | [logentries logging driver](#logentries-logging-driver) | v24.0 | v25.0 |
| Removed | [OOM-score adjust for the daemon](#oom-score-adjust-for-the-daemon) | v24.0 | v25.0 |
| Removed | [Buildkit build information](#buildkit-build-information) | v23.0 | v24.0 |
| Deprecated | [Legacy builder for Linux images](#legacy-builder-for-linux-images) | v23.0 | - |
| Deprecated | [Legacy builder fallback](#legacy-builder-fallback) | v23.0 | - |
@ -76,7 +79,7 @@ The table below provides an overview of the current status of deprecated feature
| Removed | [Support for the `overlay2.override_kernel_check` storage option](#support-for-the-overlay2override_kernel_check-storage-option) | v19.03 | v24.0 |
| Removed | [AuFS storage driver](#aufs-storage-driver) | v19.03 | v24.0 |
| Removed | [Legacy "overlay" storage driver](#legacy-overlay-storage-driver) | v18.09 | v24.0 |
| Disabled | [Device mapper storage driver](#device-mapper-storage-driver) | v18.09 | - |
| Removed | [Device mapper storage driver](#device-mapper-storage-driver) | v18.09 | v25.0 |
| Removed | [Use of reserved namespaces in engine labels](#use-of-reserved-namespaces-in-engine-labels) | v18.06 | v20.10 |
| Removed | [`--disable-legacy-registry` override daemon option](#--disable-legacy-registry-override-daemon-option) | v17.12 | v19.03 |
| Removed | [Interacting with V1 registries](#interacting-with-v1-registries) | v17.06 | v17.12 |
@ -107,18 +110,104 @@ The table below provides an overview of the current status of deprecated feature
| Removed | [`--run` flag on `docker commit`](#--run-flag-on-docker-commit) | v0.10 | v1.13 |
| Removed | [Three arguments form in `docker import`](#three-arguments-form-in-docker-import) | v0.6.7 | v1.12 |
### Deprecate legacy API versions
**Deprecated in Release: v25.0**
**Target For Removal In Release: v26.0**
The Docker daemon provides a versioned API for backward compatibility with old
clients. Docker clients can perform API-version negotiation to select the most
recent API version supported by the daemon (downgrading to and older version of
the API when necessary). API version negotiation was introduced in Docker v1.12.0
(API 1.24), and clients before that used a fixed API version.
Docker Engine versions through v25.0 provide support for all [API versions](https://docs.docker.com/engine/api/#api-version-matrix)
included in stable releases for a given platform. For Docker daemons on Linux,
the earliest supported API version is 1.12 (corresponding with Docker Engine
v1.0.0), whereas for Docker daemons on Windows, the earliest supported API
version is 1.24 (corresponding with Docker Engine v1.12.0).
Support for legacy API versions (providing old API versions on current versions
of the Docker Engine) is primarily intended to provide compatibility with recent,
but still supported versions of the client, which is a common scenario (the Docker
daemon may be updated to the latest release, but not all clients may be up-to-date
or vice versa). Support for API versions before that (API versions provided by
EOL versions of the Docker Daemon) is provided on a "best effort" basis.
Use of old API versions is very rare, and support for legacy API versions
involves significant complexity (Docker 1.0.0 having been released 10 years ago).
Because of this, we'll start deprecating support for legacy API versions.
Docker Engine v25.0 by default disables API version older than 1.24 (aligning
the minimum supported API version between Linux and Windows daemons). When
connecting with a client that uses an API version version older than 1.24,
the daemon returns an error. The following example configures the docker
CLI to use API version 1.23, which produces an error:
```console
DOCKER_API_VERSION=1.23 docker version
Error response from daemon: client version 1.23 is too old. Minimum supported API version is 1.24, please upgrade your client to a newer version
```
An environment variable (`DOCKER_MIN_API_VERSION`) is introduced that allows
re-enabling older API versions in the daemon. This environment variable must
be set in the daemon's environment (for example, through a [systemd override
file](https://docs.docker.com/config/daemon/systemd/)), and the specified
API version must be supported by the daemon (`1.12` or higher on Linux, or
`1.24` or higher on Windows).
Support for API versions lower than `1.24` will be permanently removed in Docker
Engine v26, and the minimum supported API version will be incrementally raised
in releases following that.
We do not recommend depending on the `DOCKER_MIN_API_VERSION` environment
variable other than for exceptional cases where it's not possible to update
old clients, and those clients must be supported.
### Container short ID in network Aliases field
**Deprecated in Release: v25.0**
**Target For Remove In Release: v26.0**
The `Aliases` field returned by `docker inspect` contains the container short
ID once the container is started. This behavior is deprecated in v25.0 but
kept until the next release, v26.0. Starting with that version, the `Aliases`
field will only contain the aliases set through the `docker container create`
and `docker run` flag `--network-alias`.
A new field `DNSNames` containing the container name (if one was specified),
the hostname, the network aliases, as well as the container short ID, has been
introduced in v25.0 and should be used instead of the `Aliases` field.
### IsAutomated field, and "is-automated" filter on docker search
**Deprecated in Release: v25.0**
**Target For Removal In Release: v26.0**
The "is_automated" field has been deprecated by Docker Hub's search API.
Consequently, the `IsAutomated` field in image search will always be set
to `false` in future, and searching for "is-automated=true" will yield no
results.
The `AUTOMATED` column has been removed from the default `docker search`
and `docker image search` output in v25.0, and the corresponding `IsAutomated`
templating option will be removed in v26.0.
### Logentries logging driver
**Target For Removal In Release: v25.0**
**Deprecated in Release: v24.0**
**Removed in Release: v25.0**
The logentries service SaaS was shut down on November 15, 2022, rendering
this logging driver non-functional. Users should no longer use this logging
driver, and the driver will be removed in Docker 25.0.
driver, and the driver has been removed in Docker 25.0. Existing containers
using this logging-driver are migrated to use the "local" logging driver
after upgrading.
### OOM-score adjust for the daemon
**Deprecated in Release: v24.0**
**Target For Removal In Release: v25.0**
**Removed in Release: v25.0**
The `oom-score-adjust` option was added to prevent the daemon from being
OOM-killed before other processes. This option was mostly added as a
@ -389,9 +478,6 @@ Given that the old file format encourages insecure storage of credentials
Docker v1.7.0 has created this file, support for this file, and its format has
been removed.
A warning is printed in situations where the CLI would fall back to the old file,
notifying the user that the legacy file is present, but ignored.
### Configuration options for experimental CLI features
**Deprecated in Release: v19.03**
@ -571,11 +657,12 @@ backported), there is no reason to keep maintaining the `overlay` storage driver
**Deprecated in Release: v18.09**
**Disabled by default in Release: v23.0**
**Removed in Release: v25.0**
The `devicemapper` storage driver is deprecated in favor of `overlay2`, and will
be removed in a future release. Users of the `devicemapper` storage driver are
recommended to migrate to a different storage driver, such as `overlay2`, which
is now the default storage driver.
The `devicemapper` storage driver is deprecated in favor of `overlay2`, and has
been removed in Docker Engine v25.0. Users of the `devicemapper` storage driver
must migrate to a different storage driver, such as `overlay2`, before upgrading
to Docker Engine v25.0.
The `devicemapper` storage driver facilitates running Docker on older (3.x) kernels
that have no support for other storage drivers (such as overlay2, or btrfs).
@ -584,24 +671,6 @@ Now that support for `overlay2` is added to all supported distros (as they are
either on kernel 4.x, or have support for multiple lowerdirs backported), there
is no reason to continue maintenance of the `devicemapper` storage driver.
#### Disabled by default in v23.0
Docker already prevented deprecated storage drivers from being automatically
selected on new installations, but continued to use these drivers when upgrading
existing installations. Starting with the v23.0 release, the Docker Engine will
fail to start if a deprecated storage driver is used (see [moby#43378](https://github.com/moby/moby/pull/43378):
```console
failed to start daemon: error initializing graphdriver: prior storage driver
devicemapper is deprecated and will be removed in a future release; update the the daemon
configuration and explicitly choose this storage driver to continue using it;
visit https://docs.docker.com/go/storage-driver/ for more information.
```
To continue using the storage driver, update the daemon configuration to use
explicitly use the given storage driver. Users are encouraged to migrate to
different storage driver.
### Use of reserved namespaces in engine labels
**Deprecated in Release: v18.06**

View File

@ -1,192 +1,185 @@
---
description: "How to develop and use a plugin with the managed plugin system"
keywords: "API, Usage, plugins, documentation, developer"
title: Plugin Config Version 1 of Plugin V2
---
<!-- This file is maintained within the docker/cli GitHub
repository at https://github.com/docker/cli/. Make all
pull requests against that repo. If you see this file in
another repository, consider it read-only there, as it will
periodically be overwritten by the definitive file. Pull
requests which include edits to this file in other repositories
will be rejected.
-->
# Plugin Config Version 1 of Plugin V2
This document outlines the format of the V0 plugin configuration.
Plugin configs describe the various constituents of a docker plugin. Plugin
configs can be serialized to JSON format with the following media types:
Plugin configs describe the various constituents of a Docker engine plugin.
Plugin configs can be serialized to JSON format with the following media types:
| Config Type | Media Type |
|-------------|-----------------------------------------|
| config | "application/vnd.docker.plugin.v1+json" |
| config | `application/vnd.docker.plugin.v1+json` |
## *Config* Field Descriptions
## Config Field Descriptions
Config provides the base accessible fields for working with V0 plugin format
in the registry.
Config provides the base accessible fields for working with V0 plugin format in
the registry.
- **`description`** *string*
- `description` string
description of the plugin
Description of the plugin
- **`documentation`** *string*
- `documentation` string
link to the documentation about the plugin
Link to the documentation about the plugin
- **`interface`** *PluginInterface*
- `interface` PluginInterface
interface implemented by the plugins, struct consisting of the following fields
Interface implemented by the plugins, struct consisting of the following fields:
- **`types`** *string array*
- `types` string array
types indicate what interface(s) the plugin currently implements.
Types indicate what interface(s) the plugin currently implements.
currently supported:
Supported types:
- **docker.volumedriver/1.0**
- `docker.volumedriver/1.0`
- **docker.networkdriver/1.0**
- `docker.networkdriver/1.0`
- **docker.ipamdriver/1.0**
- `docker.ipamdriver/1.0`
- **docker.authz/1.0**
- `docker.authz/1.0`
- **docker.logdriver/1.0**
- `docker.logdriver/1.0`
- **docker.metricscollector/1.0**
- `docker.metricscollector/1.0`
- **`socket`** *string*
- `socket` string
socket is the name of the socket the engine should use to communicate with the plugins.
the socket will be created in `/run/docker/plugins`.
Socket is the name of the socket the engine should use to communicate with the plugins.
the socket will be created in `/run/docker/plugins`.
- `entrypoint` string array
- **`entrypoint`** *string array*
Entrypoint of the plugin, see [`ENTRYPOINT`](https://docs.docker.com/engine/reference/builder/#entrypoint)
entrypoint of the plugin, see [`ENTRYPOINT`](https://docs.docker.com/engine/reference/builder/#entrypoint)
- `workdir` string
- **`workdir`** *string*
Working directory of the plugin, see [`WORKDIR`](https://docs.docker.com/engine/reference/builder/#workdir)
workdir of the plugin, see [`WORKDIR`](https://docs.docker.com/engine/reference/builder/#workdir)
- `network` PluginNetwork
- **`network`** *PluginNetwork*
Network of the plugin, struct consisting of the following fields:
network of the plugin, struct consisting of the following fields
- `type` string
- **`type`** *string*
Network type.
network type.
Supported types:
currently supported:
- `bridge`
- `host`
- `none`
- **bridge**
- **host**
- **none**
- `mounts` PluginMount array
- **`mounts`** *PluginMount array*
Mount of the plugin, struct consisting of the following fields.
See [`MOUNTS`](https://github.com/opencontainers/runtime-spec/blob/master/config.md#mounts).
mount of the plugin, struct consisting of the following fields, see [`MOUNTS`](https://github.com/opencontainers/runtime-spec/blob/master/config.md#mounts)
- `name` string
- **`name`** *string*
Name of the mount.
name of the mount.
- `description` string
- **`description`** *string*
Description of the mount.
description of the mount.
- `source` string
- **`source`** *string*
Source of the mount.
source of the mount.
- `destination` string
- **`destination`** *string*
Destination of the mount.
destination of the mount.
- `type` string
- **`type`** *string*
Mount type.
mount type.
- `options` string array
- **`options`** *string array*
Options of the mount.
options of the mount.
- `ipchost` Boolean
- **`ipchost`** *boolean*
Access to host ipc namespace.
- **`pidhost`** *boolean*
Access to host pid namespace.
- **`propagatedMount`** *string*
- `pidhost` Boolean
path to be mounted as rshared, so that mounts under that path are visible to docker. This is useful for volume plugins.
This path will be bind-mounted outside of the plugin rootfs so it's contents
are preserved on upgrade.
Access to host PID namespace.
- **`env`** *PluginEnv array*
- `propagatedMount` string
env of the plugin, struct consisting of the following fields
Path to be mounted as rshared, so that mounts under that path are visible to
Docker. This is useful for volume plugins. This path will be bind-mounted
outside of the plugin rootfs so it's contents are preserved on upgrade.
- **`name`** *string*
- `env` PluginEnv array
name of the env.
Environment variables of the plugin, struct consisting of the following fields:
- **`description`** *string*
- `name` string
description of the env.
Name of the environment variable.
- **`value`** *string*
- `description` string
value of the env.
Description of the environment variable.
- **`args`** *PluginArgs*
- `value` string
args of the plugin, struct consisting of the following fields
Value of the environment variable.
- **`name`** *string*
- `args` PluginArgs
name of the args.
Arguments of the plugin, struct consisting of the following fields:
- **`description`** *string*
- `name` string
description of the args.
Name of the arguments.
- **`value`** *string array*
- `description` string
values of the args.
Description of the arguments.
- **`linux`** *PluginLinux*
- `value` string array
- **`capabilities`** *string array*
Values of the arguments.
capabilities of the plugin (*Linux only*), see list [`here`](https://github.com/opencontainers/runc/blob/master/libcontainer/SPEC.md#security)
- `linux` PluginLinux
- **`allowAllDevices`** *boolean*
- `capabilities` string array
If `/dev` is bind mounted from the host, and allowAllDevices is set to true, the plugin will have `rwm` access to all devices on the host.
Capabilities of the plugin (Linux only), see list [`here`](https://github.com/opencontainers/runc/blob/master/libcontainer/SPEC.md#security)
- **`devices`** *PluginDevice array*
- `allowAllDevices` Boolean
device of the plugin, (*Linux only*), struct consisting of the following fields, see [`DEVICES`](https://github.com/opencontainers/runtime-spec/blob/master/config-linux.md#devices)
If `/dev` is bind mounted from the host, and allowAllDevices is set to true, the plugin will have `rwm` access to all devices on the host.
- **`name`** *string*
- `devices` PluginDevice array
name of the device.
Device of the plugin, (Linux only), struct consisting of the following fields.
See [`DEVICES`](https://github.com/opencontainers/runtime-spec/blob/master/config-linux.md#devices).
- **`description`** *string*
- `name` string
description of the device.
Name of the device.
- **`path`** *string*
- `description` string
path of the device.
Description of the device.
- `path` string
Path of the device.
## Example Config
*Example showing the 'tiborvass/sample-volume-plugin' plugin config.*
The following example shows the 'tiborvass/sample-volume-plugin' plugin config.
```json
{

View File

@ -1,24 +1,14 @@
---
title: Docker Engine managed plugin system
description: Develop and use a plugin with the managed plugin system
keywords: "API, Usage, plugins, documentation, developer"
---
<!-- This file is maintained within the docker/cli GitHub
repository at https://github.com/docker/cli/. Make all
pull requests against that repo. If you see this file in
another repository, consider it read-only there, as it will
periodically be overwritten by the definitive file. Pull
requests which include edits to this file in other repositories
will be rejected.
-->
# Docker Engine managed plugin system
- [Installing and using a plugin](index.md#installing-and-using-a-plugin)
- [Developing a plugin](index.md#developing-a-plugin)
- [Debugging plugins](index.md#debugging-plugins)
Docker Engine's plugin system allows you to install, start, stop, and remove
Docker Engine's plugin system lets you install, start, stop, and remove
plugins using Docker Engine.
For information about legacy (non-managed) plugins, refer to
@ -49,78 +39,78 @@ enabled, and use it to create a volume.
> **Note**
>
> This example is intended for instructional purposes only. Once the volume is
> created, your SSH password to the remote host will be exposed as plaintext
> when inspecting the volume. You should delete the volume as soon as you are
> done with the example.
> created, your SSH password to the remote host is exposed as plaintext when
> inspecting the volume. Delete the volume as soon as you are done with the
> example.
1. Install the `sshfs` plugin.
1. Install the `sshfs` plugin.
```console
$ docker plugin install vieux/sshfs
```console
$ docker plugin install vieux/sshfs
Plugin "vieux/sshfs" is requesting the following privileges:
- network: [host]
- capabilities: [CAP_SYS_ADMIN]
Do you grant the above permissions? [y/N] y
Plugin "vieux/sshfs" is requesting the following privileges:
- network: [host]
- capabilities: [CAP_SYS_ADMIN]
Do you grant the above permissions? [y/N] y
vieux/sshfs
```
vieux/sshfs
```
The plugin requests 2 privileges:
The plugin requests 2 privileges:
- It needs access to the `host` network.
- It needs the `CAP_SYS_ADMIN` capability, which allows the plugin to run
the `mount` command.
- It needs access to the `host` network.
- It needs the `CAP_SYS_ADMIN` capability, which allows the plugin to run
the `mount` command.
2. Check that the plugin is enabled in the output of `docker plugin ls`.
2. Check that the plugin is enabled in the output of `docker plugin ls`.
```console
$ docker plugin ls
```console
$ docker plugin ls
ID NAME TAG DESCRIPTION ENABLED
69553ca1d789 vieux/sshfs latest the `sshfs` plugin true
```
ID NAME TAG DESCRIPTION ENABLED
69553ca1d789 vieux/sshfs latest the `sshfs` plugin true
```
3. Create a volume using the plugin.
This example mounts the `/remote` directory on host `1.2.3.4` into a
volume named `sshvolume`.
3. Create a volume using the plugin.
This example mounts the `/remote` directory on host `1.2.3.4` into a
volume named `sshvolume`.
This volume can now be mounted into containers.
This volume can now be mounted into containers.
```console
$ docker volume create \
-d vieux/sshfs \
--name sshvolume \
-o sshcmd=user@1.2.3.4:/remote \
-o password=$(cat file_containing_password_for_remote_host)
```console
$ docker volume create \
-d vieux/sshfs \
--name sshvolume \
-o sshcmd=user@1.2.3.4:/remote \
-o password=$(cat file_containing_password_for_remote_host)
sshvolume
```
sshvolume
```
4. Verify that the volume was created successfully.
4. Verify that the volume was created successfully.
```console
$ docker volume ls
```console
$ docker volume ls
DRIVER NAME
vieux/sshfs sshvolume
```
DRIVER NAME
vieux/sshfs sshvolume
```
5. Start a container that uses the volume `sshvolume`.
5. Start a container that uses the volume `sshvolume`.
```console
$ docker run --rm -v sshvolume:/data busybox ls /data
```console
$ docker run --rm -v sshvolume:/data busybox ls /data
<content of /remote on machine 1.2.3.4>
```
<content of /remote on machine 1.2.3.4>
```
6. Remove the volume `sshvolume`
6. Remove the volume `sshvolume`
```console
$ docker volume rm sshvolume
```console
$ docker volume rm sshvolume
sshvolume
```
sshvolume
```
To disable a plugin, use the `docker plugin disable` command. To completely
remove it, use the `docker plugin remove` command. For other available
@ -134,8 +124,10 @@ commands and options, see the
The `rootfs` directory represents the root filesystem of the plugin. In this
example, it was created from a Dockerfile:
> **Note:** The `/run/docker/plugins` directory is mandatory inside of the
> plugin's filesystem for docker to communicate with the plugin.
> **Note**
>
> The `/run/docker/plugins` directory is mandatory inside of the
> plugin's filesystem for Docker to communicate with the plugin.
```console
$ git clone https://github.com/vieux/docker-volume-sshfs
@ -219,11 +211,10 @@ INFO[0421] Path Called... Returned path /data/samplevol plugin=f52a3df433b9a
INFO[0421] Unmount Called... Unmounted samplevol plugin=f52a3df433b9aceee436eaada0752f5797aab1de47e5485f1690a073b860ff62
```
#### Using docker-runc to obtain logfiles and shell into the plugin.
#### Using runc to obtain logfiles and shell into the plugin.
`docker-runc`, the default docker container runtime can be used for debugging
plugins. This is specifically useful to collect plugin logs if they are
redirected to a file.
Use `runc`, the default docker container runtime, for debugging plugins by
collecting plugin logs redirected to a file.
```console
$ sudo runc --root /run/docker/runtime-runc/plugins.moby list

View File

@ -1,21 +1,11 @@
---
title: Use Docker Engine plugins
aliases:
- "/engine/extend/plugins/"
description: "How to add additional functionality to Docker with plugins extensions"
keywords: "Examples, Usage, plugins, docker, documentation, user guide"
---
<!-- This file is maintained within the docker/cli GitHub
repository at https://github.com/docker/cli/. Make all
pull requests against that repo. If you see this file in
another repository, consider it read-only there, as it will
periodically be overwritten by the definitive file. Pull
requests which include edits to this file in other repositories
will be rejected.
-->
# Use Docker Engine plugins
This document describes the Docker Engine plugins generally available in Docker
Engine. To view information on plugins managed by Docker,
refer to [Docker Engine plugin system](index.md).
@ -40,19 +30,15 @@ Follow the instructions in the plugin's documentation.
## Finding a plugin
The sections below provide an inexhaustive overview of available plugins.
<style>
#DocumentationText tr td:first-child { white-space: nowrap;}
</style>
The sections below provide an overview of available third-party plugins.
### Network plugins
| Plugin | Description |
|:-----------------------------------------------------------------------------------|:-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| :--------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [Contiv Networking](https://github.com/contiv/netplugin) | An open source network plugin to provide infrastructure and security policies for a multi-tenant micro services deployment, while providing an integration to physical network for non-container workload. Contiv Networking implements the remote driver and IPAM APIs available in Docker 1.9 onwards. |
| [Kuryr Network Plugin](https://github.com/openstack/kuryr) | A network plugin is developed as part of the OpenStack Kuryr project and implements the Docker networking (libnetwork) remote driver API by utilizing Neutron, the OpenStack networking service. It includes an IPAM driver as well. |
| [Weave Network Plugin](https://www.weave.works/docs/net/latest/introducing-weave/) | A network plugin that creates a virtual network that connects your Docker containers - across multiple hosts or clouds and enables automatic discovery of applications. Weave networks are resilient, partition tolerant, secure and work in partially connected networks, and other adverse environments - all configured with delightful simplicity. |
| [Kathará Network Plugin](https://github.com/KatharaFramework/NetworkPlugin) | Docker Network Plugin used by Kathará, an open source container-based network emulation system for showing interactive demos/lessons, testing production networks in a sandbox environment, or developing new network protocols. |
### Volume plugins
@ -101,4 +87,4 @@ of the plugin for help. The Docker team may not be able to assist you.
## Writing a plugin
If you are interested in writing a plugin for Docker, or seeing how they work
under the hood, see the [docker plugins reference](plugin_api.md).
under the hood, see the [Docker plugins reference](plugin_api.md).

View File

@ -1,19 +1,9 @@
---
title: Docker Plugin API
description: "How to write Docker plugins extensions "
keywords: "API, Usage, plugins, documentation, developer"
---
<!-- This file is maintained within the docker/cli GitHub
repository at https://github.com/docker/cli/. Make all
pull requests against that repo. If you see this file in
another repository, consider it read-only there, as it will
periodically be overwritten by the definitive file. Pull
requests which include edits to this file in other repositories
will be rejected.
-->
# Docker Plugin API
Docker plugins are out-of-process extensions which add capabilities to the
Docker Engine.
@ -26,8 +16,8 @@ If you just want to learn about or use Docker plugins, look
## What plugins are
A plugin is a process running on the same or a different host as the docker daemon,
which registers itself by placing a file on the same docker host in one of the plugin
A plugin is a process running on the same or a different host as the Docker daemon,
which registers itself by placing a file on the daemon host in one of the plugin
directories described in [Plugin discovery](#plugin-discovery).
Plugins have human-readable names, which are short, lowercase strings. For
@ -43,26 +33,26 @@ user or container tries to use one by name.
There are three types of files which can be put in the plugin directory.
* `.sock` files are UNIX domain sockets.
* `.sock` files are Unix domain sockets.
* `.spec` files are text files containing a URL, such as `unix:///other.sock` or `tcp://localhost:8080`.
* `.json` files are text files containing a full json specification for the plugin.
Plugins with UNIX domain socket files must run on the same docker host, whereas
plugins with spec or json files can run on a different host if a remote URL is specified.
Plugins with Unix domain socket files must run on the same host as the Docker daemon.
Plugins with `.spec` or `.json` files can run on a different host if you specify a remote URL.
UNIX domain socket files must be located under `/run/docker/plugins`, whereas
Unix domain socket files must be located under `/run/docker/plugins`, whereas
spec files can be located either under `/etc/docker/plugins` or `/usr/lib/docker/plugins`.
The name of the file (excluding the extension) determines the plugin name.
For example, the `flocker` plugin might create a UNIX socket at
For example, the `flocker` plugin might create a Unix socket at
`/run/docker/plugins/flocker.sock`.
You can define each plugin into a separated subdirectory if you want to isolate definitions from each other.
For example, you can create the `flocker` socket under `/run/docker/plugins/flocker/flocker.sock` and only
mount `/run/docker/plugins/flocker` inside the `flocker` container.
Docker always searches for unix sockets in `/run/docker/plugins` first. It checks for spec or json files under
Docker always searches for Unix sockets in `/run/docker/plugins` first. It checks for spec or json files under
`/etc/docker/plugins` and `/usr/lib/docker/plugins` if the socket doesn't exist. The directory scan stops as
soon as it finds the first plugin definition with the given name.
@ -87,7 +77,7 @@ The `TLSConfig` field is optional and TLS will only be verified if this configur
## Plugin lifecycle
Plugins should be started before Docker, and stopped after Docker. For
Plugins should be started before Docker, and stopped after Docker. For
example, when packaging a plugin for a platform which supports `systemd`, you
might use [`systemd` dependencies](
https://www.freedesktop.org/software/systemd/man/systemd.unit.html#Before=) to
@ -103,7 +93,7 @@ When a plugin is first referred to -- either by a user referring to it by name
use a plugin being started -- Docker looks for the named plugin in the plugin
directory and activates it with a handshake. See Handshake API below.
Plugins are *not* activated automatically at Docker daemon startup. Rather,
Plugins are not activated automatically at Docker daemon startup. Rather,
they are activated only lazily, or on-demand, when they are needed.
## Systemd socket activation
@ -149,8 +139,8 @@ or if one of the plugin goes down accidentally).
The Plugin API is RPC-style JSON over HTTP, much like webhooks.
Requests flow *from* the Docker daemon *to* the plugin. So the plugin needs to
implement an HTTP server and bind this to the UNIX socket mentioned in the
Requests flow from the Docker daemon to the plugin. The plugin needs to
implement an HTTP server and bind this to the Unix socket mentioned in the
"plugin discovery" section.
All requests are HTTP `POST` requests.
@ -164,9 +154,9 @@ Plugins are activated via the following "handshake" API call.
### /Plugin.Activate
**Request:** empty body
Request: empty body
**Response:**
Response:
```json
{
@ -183,7 +173,6 @@ Possible values are:
* [`NetworkDriver`](plugins_network.md)
* [`VolumeDriver`](plugins_volume.md)
## Plugin retries
Attempts to call a method on a plugin are retried with an exponential backoff

View File

@ -1,22 +1,12 @@
---
title: Access authorization plugin
description: "How to create authorization plugins to manage access control to your Docker daemon."
keywords: "security, authorization, authentication, docker, documentation, plugin, extend"
aliases:
- "/engine/extend/authorization/"
---
<!-- This file is maintained within the docker/cli GitHub
repository at https://github.com/docker/cli/. Make all
pull requests against that repo. If you see this file in
another repository, consider it read-only there, as it will
periodically be overwritten by the definitive file. Pull
requests which include edits to this file in other repositories
will be rejected.
-->
# Access authorization plugin
This document describes the Docker Engine plugins generally available in Docker
This document describes the Docker Engine plugins available in Docker
Engine. To view information on plugins managed by Docker Engine,
refer to [Docker Engine plugin system](index.md).
@ -41,7 +31,7 @@ third-party components using a generic API. The access authorization subsystem
was built using this mechanism.
Using this subsystem, you don't need to rebuild the Docker daemon to add an
authorization plugin. You can add a plugin to an installed Docker daemon. You do
authorization plugin. You can add a plugin to an installed Docker daemon. You do
need to restart the Docker daemon to add a new plugin.
An authorization plugin approves or denies requests to the Docker daemon based
@ -158,7 +148,7 @@ should implement the following two methods:
#### /AuthZPlugin.AuthZReq
**Request**:
Request
```json
{
@ -171,7 +161,7 @@ should implement the following two methods:
}
```
**Response**:
Response
```json
{
@ -183,7 +173,7 @@ should implement the following two methods:
#### /AuthZPlugin.AuthZRes
**Request**:
Request:
```json
{
@ -199,7 +189,7 @@ should implement the following two methods:
}
```
**Response**:
Response:
```json
{
@ -224,7 +214,6 @@ Request URI | string | The HTTP request URI including API
Request headers | map[string]string | Request headers as key value pairs (without the authorization header)
Request body | []byte | Raw request body
#### Plugin -> Daemon
Name | Type | Description
@ -239,7 +228,6 @@ The plugin must support two authorization messages formats, one from the daemon
#### Daemon -> Plugin
Name | Type | Description
----------------------- |------------------ |----------------------------------------------------
User | string | The user identification
@ -248,10 +236,9 @@ Request method | string | The HTTP method (GET/DELETE/POST)
Request URI | string | The HTTP request URI including API version (e.g., v.1.17/containers/json)
Request headers | map[string]string | Request headers as key value pairs (without the authorization header)
Request body | []byte | Raw request body
Response status code | int | Status code from the docker daemon
Response status code | int | Status code from the Docker daemon
Response headers | map[string]string | Response headers as key value pairs
Response body | []byte | Raw docker daemon response body
Response body | []byte | Raw Docker daemon response body
#### Plugin -> Daemon

View File

@ -1,19 +1,9 @@
---
title: Docker log driver plugins
description: "Log driver plugins."
keywords: "Examples, Usage, plugins, docker, documentation, user guide, logging"
---
<!-- This file is maintained within the docker/cli GitHub
repository at https://github.com/docker/cli/. Make all
pull requests against that repo. If you see this file in
another repository, consider it read-only there, as it will
periodically be overwritten by the definitive file. Pull
requests which include edits to this file in other repositories
will be rejected.
-->
# Docker log driver plugins
This document describes logging driver plugins for Docker.
Logging drivers enables users to forward container logs to another service for
@ -46,20 +36,21 @@ receiving logs for.
Logs will be streamed over the defined file in the request. On Linux this file
is a FIFO. Logging plugins are not currently supported on Windows.
**Request**:
Request:
```json
{
"File": "/path/to/file/stream",
"Info": {
"ContainerID": "123456"
}
"File": "/path/to/file/stream",
"Info": {
"ContainerID": "123456"
}
}
```
`File` is the path to the log stream that needs to be consumed. Each call to
`StartLogging` should provide a different file path, even if it's a container
that the plugin has already received logs for prior. The file is created by
docker with a randomly generated name.
Docker with a randomly generated name.
`Info` is details about the container that's being logged. This is fairly
free-form, but is defined by the following struct definition:
@ -81,14 +72,14 @@ type Info struct {
}
```
`ContainerID` will always be supplied with this struct, but other fields may be
empty or missing.
**Response**
Response:
```json
{
"Err": ""
"Err": ""
}
```
@ -102,12 +93,12 @@ write to its stdio streams.
Log stream messages are encoded as protocol buffers. The protobuf definitions are
in the
[docker repository](https://github.com/docker/docker/blob/master/api/types/plugins/logdriver/entry.proto).
[moby repository](https://github.com/moby/moby/blob/master/api/types/plugins/logdriver/entry.proto).
Since protocol buffers are not self-delimited you must decode them from the stream
using the following stream format:
```
```text
[size][message]
```
@ -127,17 +118,19 @@ losing log data.
Requests on this endpoint does not mean that the container has been removed
only that it has stopped.
**Request**:
Request:
```json
{
"File": "/path/to/file/stream"
"File": "/path/to/file/stream"
}
```
**Response**:
Response:
```json
{
"Err": ""
"Err": ""
}
```
@ -154,15 +147,17 @@ Logging plugins can implement two extra logging endpoints:
Defines the capabilities of the log driver. You must implement this endpoint for
Docker to be able to take advantage of any of the defined capabilities.
**Request**:
Request:
```json
{}
```
**Response**:
Response:
```json
{
"ReadLogs": true
"ReadLogs": true
}
```
@ -180,14 +175,14 @@ called.
In order for Docker to use this endpoint, the plugin must specify as much when
`/LogDriver.Capabilities` is called.
Request:
**Request**:
```json
{
"ReadConfig": {},
"Info": {
"ContainerID": "123456"
}
"ReadConfig": {},
"Info": {
"ContainerID": "123456"
}
}
```
@ -210,9 +205,9 @@ as they come in once the existing logs have been read.
`Info` is the same type defined in `/LogDriver.StartLogging`. It should be used
to determine what set of logs to read.
**Response**:
Response:
```
```text
{{ log stream }}
```

View File

@ -1,20 +1,10 @@
---
title: Docker metrics collector plugins
description: "Metrics plugins."
keywords: "Examples, Usage, plugins, docker, documentation, user guide, metrics"
---
<!-- This file is maintained within the docker/cli GitHub
repository at https://github.com/docker/cli/. Make all
pull requests against that repo. If you see this file in
another repository, consider it read-only there, as it will
periodically be overwritten by the definitive file. Pull
requests which include edits to this file in other repositories
will be rejected.
-->
# Docker metrics collector plugins
Docker exposes internal metrics based on the prometheus format. Metrics plugins
Docker exposes internal metrics based on the Prometheus format. Metrics plugins
enable accessing these metrics in a consistent way by providing a Unix
socket at a predefined path where the plugin can scrape the metrics.
@ -44,17 +34,19 @@ plugin's rootfs.
Signals to the plugin that the metrics socket is now available for scraping
**Request**
Request:
```json
{}
```
The request has no playload.
The request has no payload.
Response:
**Response**
```json
{
"Err": ""
"Err": ""
}
```
@ -67,17 +59,19 @@ or an empty value for the `Err` field. Errors will only be logged.
Signals to the plugin that the metrics socket is no longer available.
This may happen when the daemon is shutting down.
**Request**
Request:
```json
{}
```
The request has no playload.
The request has no payload.
Response:
**Response**
```json
{
"Err": ""
"Err": ""
}
```

View File

@ -1,19 +1,9 @@
---
title: Docker network driver plugins
description: "Network driver plugins."
keywords: "Examples, Usage, plugins, docker, documentation, user guide"
---
<!-- This file is maintained within the docker/cli GitHub
repository at https://github.com/docker/cli/. Make all
pull requests against that repo. If you see this file in
another repository, consider it read-only there, as it will
periodically be overwritten by the definitive file. Pull
requests which include edits to this file in other repositories
will be rejected.
-->
# Docker network driver plugins
This document describes Docker Engine network driver plugins generally
available in Docker Engine. To view information on plugins
managed by Docker Engine, refer to [Docker Engine plugin system](index.md).
@ -26,11 +16,11 @@ LibNetwork, which shares plugin infrastructure with Engine. Effectively, network
driver plugins are activated in the same way as other plugins, and use the same
kind of protocol.
## Network plugins and swarm mode
## Network plugins and Swarm mode
[Legacy plugins](legacy_plugins.md) do not work in swarm mode. However,
plugins written using the [v2 plugin system](index.md) do work in swarm mode, as
long as they are installed on each swarm worker node.
[Legacy plugins](legacy_plugins.md) do not work in Swarm mode. However,
plugins written using the [v2 plugin system](index.md) do work in Swarm mode, as
long as they are installed on each Swarm worker node.
## Use network driver plugins
@ -55,12 +45,11 @@ referring to that network will be sent to the plugin,
$ docker run --network=mynet busybox top
```
## Find network plugins
Network plugins are written by third parties, and are published by those
third parties, either on
[Docker Store](https://store.docker.com/search?category=network&q=&type=plugin)
[Docker Hub](https://hub.docker.com/search?q=&type=plugin)
or on the third party's site.
## Write a network plugin

View File

@ -1,19 +1,9 @@
---
title: Docker volume plugins
description: "How to manage data with external volume plugins"
keywords: "Examples, Usage, volume, docker, data, volumes, plugin, api"
---
<!-- This file is maintained within the docker/cli GitHub
repository at https://github.com/docker/cli/. Make all
pull requests against that repo. If you see this file in
another repository, consider it read-only there, as it will
periodically be overwritten by the definitive file. Pull
requests which include edits to this file in other repositories
will be rejected.
-->
# Docker volume plugins
Docker Engine volume plugins enable Engine deployments to be integrated with
external storage systems such as Amazon EBS, and enable data volumes to persist
beyond the lifetime of a single Docker host. See the
@ -50,7 +40,7 @@ beyond the lifetime of a single Docker host. See the
## Command-line changes
To give a container access to a volume, use the `--volume` and `--volume-driver`
flags on the `docker container run` command. The `--volume` (or `-v`) flag
flags on the `docker container run` command. The `--volume` (or `-v`) flag
accepts a volume name and path on the host, and the `--volume-driver` flag
accepts a driver type.
@ -98,7 +88,8 @@ the volumes available by bind-mounting the provided paths into the containers.
### `/VolumeDriver.Create`
**Request**:
Request:
```json
{
"Name": "volume_name",
@ -111,18 +102,20 @@ specified volume name. The plugin does not need to actually manifest the
volume on the filesystem yet (until `Mount` is called).
`Opts` is a map of driver specific options passed through from the user request.
**Response**:
Response:
```json
{
"Err": ""
}
```
Respond with a string error if an error occurred.
Respond with a string error if an error occurred.
### `/VolumeDriver.Remove`
**Request**:
Request:
```json
{
"Name": "volume_name"
@ -132,7 +125,8 @@ Respond with a string error if an error occurred.
Delete the specified volume from disk. This request is issued when a user
invokes `docker rm -v` to remove volumes associated with a container.
**Response**:
Response:
```json
{
"Err": ""
@ -143,7 +137,8 @@ Respond with a string error if an error occurred.
### `/VolumeDriver.Mount`
**Request**:
Request:
```json
{
"Name": "volume_name",
@ -158,9 +153,9 @@ at the first mount request and deprovision at the last corresponding unmount req
`ID` is a unique ID for the caller that is requesting the mount.
**Response**:
Response:
- **v1**:
- v1
```json
{
@ -169,7 +164,7 @@ at the first mount request and deprovision at the last corresponding unmount req
}
```
- **v2**:
- v2
```json
{
@ -185,7 +180,7 @@ has been made available.
### `/VolumeDriver.Path`
**Request**:
Request:
```json
{
@ -195,9 +190,9 @@ has been made available.
Request the path to the volume with the given `volume_name`.
**Response**:
Response:
- **v1**:
- v1
```json
{
@ -206,7 +201,7 @@ Request the path to the volume with the given `volume_name`.
}
```
- **v2**:
- v2
```json
{
@ -223,7 +218,8 @@ is not provided.
### `/VolumeDriver.Unmount`
**Request**:
Request:
```json
{
"Name": "volume_name",
@ -237,7 +233,8 @@ this point.
`ID` is a unique ID for the caller that is requesting the mount.
**Response**:
Response:
```json
{
"Err": ""
@ -246,10 +243,10 @@ this point.
Respond with a string error if an error occurred.
### `/VolumeDriver.Get`
**Request**:
Request:
```json
{
"Name": "volume_name"
@ -258,10 +255,9 @@ Respond with a string error if an error occurred.
Get info about `volume_name`.
Response:
**Response**:
- **v1**:
- v1
```json
{
@ -274,7 +270,7 @@ Get info about `volume_name`.
}
```
- **v2**:
- v2
```json
{
@ -293,16 +289,17 @@ optional.
### /VolumeDriver.List
**Request**:
Request:
```json
{}
```
Get the list of volumes registered with the plugin.
**Response**:
Response:
- **v1**:
- v1
```json
{
@ -316,7 +313,7 @@ Get the list of volumes registered with the plugin.
}
```
- **v2**:
- v2
```json
{
@ -330,12 +327,12 @@ Get the list of volumes registered with the plugin.
}
```
Respond with a string error if an error occurred. `Mountpoint` is optional.
### /VolumeDriver.Capabilities
**Request**:
Request:
```json
{}
```
@ -345,7 +342,8 @@ Get the list of capabilities the driver supports.
The driver is not required to implement `Capabilities`. If it is not
implemented, the default values are used.
**Response**:
Response:
```json
{
"Capabilities": {

View File

@ -10,105 +10,8 @@ aliases:
- /engine/reference/commandline/engine_update/
---
<!-- This file is maintained within the docker/cli GitHub
repository at https://github.com/docker/cli/. Make all
pull requests against that repo. If you see this file in
another repository, consider it read-only there, as it will
periodically be overwritten by the definitive file. Pull
requests which include edits to this file in other repositories
will be rejected.
-->
# docker
To list available commands, either run `docker` with no parameters
or execute `docker help`:
<!---MARKER_GEN_START-->
The base command for the Docker CLI.
### Subcommands
| Name | Description |
|:------------------------------|:------------------------------------------------------------------------------|
| [`attach`](attach.md) | Attach local standard input, output, and error streams to a running container |
| [`build`](build.md) | Build an image from a Dockerfile |
| [`builder`](builder.md) | Manage builds |
| [`checkpoint`](checkpoint.md) | Manage checkpoints |
| [`commit`](commit.md) | Create a new image from a container's changes |
| [`config`](config.md) | Manage Swarm configs |
| [`container`](container.md) | Manage containers |
| [`context`](context.md) | Manage contexts |
| [`cp`](cp.md) | Copy files/folders between a container and the local filesystem |
| [`create`](create.md) | Create a new container |
| [`diff`](diff.md) | Inspect changes to files or directories on a container's filesystem |
| [`events`](events.md) | Get real time events from the server |
| [`exec`](exec.md) | Execute a command in a running container |
| [`export`](export.md) | Export a container's filesystem as a tar archive |
| [`history`](history.md) | Show the history of an image |
| [`image`](image.md) | Manage images |
| [`images`](images.md) | List images |
| [`import`](import.md) | Import the contents from a tarball to create a filesystem image |
| [`info`](info.md) | Display system-wide information |
| [`inspect`](inspect.md) | Return low-level information on Docker objects |
| [`kill`](kill.md) | Kill one or more running containers |
| [`load`](load.md) | Load an image from a tar archive or STDIN |
| [`login`](login.md) | Log in to a registry |
| [`logout`](logout.md) | Log out from a registry |
| [`logs`](logs.md) | Fetch the logs of a container |
| [`manifest`](manifest.md) | Manage Docker image manifests and manifest lists |
| [`network`](network.md) | Manage networks |
| [`node`](node.md) | Manage Swarm nodes |
| [`pause`](pause.md) | Pause all processes within one or more containers |
| [`plugin`](plugin.md) | Manage plugins |
| [`port`](port.md) | List port mappings or a specific mapping for the container |
| [`ps`](ps.md) | List containers |
| [`pull`](pull.md) | Download an image from a registry |
| [`push`](push.md) | Upload an image to a registry |
| [`rename`](rename.md) | Rename a container |
| [`restart`](restart.md) | Restart one or more containers |
| [`rm`](rm.md) | Remove one or more containers |
| [`rmi`](rmi.md) | Remove one or more images |
| [`run`](run.md) | Create and run a new container from an image |
| [`save`](save.md) | Save one or more images to a tar archive (streamed to STDOUT by default) |
| [`search`](search.md) | Search Docker Hub for images |
| [`secret`](secret.md) | Manage Swarm secrets |
| [`service`](service.md) | Manage Swarm services |
| [`stack`](stack.md) | Manage Swarm stacks |
| [`start`](start.md) | Start one or more stopped containers |
| [`stats`](stats.md) | Display a live stream of container(s) resource usage statistics |
| [`stop`](stop.md) | Stop one or more running containers |
| [`swarm`](swarm.md) | Manage Swarm |
| [`system`](system.md) | Manage Docker |
| [`tag`](tag.md) | Create a tag TARGET_IMAGE that refers to SOURCE_IMAGE |
| [`top`](top.md) | Display the running processes of a container |
| [`trust`](trust.md) | Manage trust on Docker images |
| [`unpause`](unpause.md) | Unpause all processes within one or more containers |
| [`update`](update.md) | Update configuration of one or more containers |
| [`version`](version.md) | Show the Docker version information |
| [`volume`](volume.md) | Manage volumes |
| [`wait`](wait.md) | Block until one or more containers stop, then print their exit codes |
### Options
| Name | Type | Default | Description |
|:---------------------------------|:---------|:-------------------------|:--------------------------------------------------------------------------------------------------------------------------------------|
| `--config` | `string` | `/root/.docker` | Location of client config files |
| `-c`, `--context` | `string` | | Name of the context to use to connect to the daemon (overrides DOCKER_HOST env var and default context set with `docker context use`) |
| `-D`, `--debug` | | | Enable debug mode |
| [`-H`](#host), [`--host`](#host) | `list` | | Daemon socket to connect to |
| `-l`, `--log-level` | `string` | `info` | Set the logging level (`debug`, `info`, `warn`, `error`, `fatal`) |
| `--tls` | | | Use TLS; implied by --tlsverify |
| `--tlscacert` | `string` | `/root/.docker/ca.pem` | Trust certs signed only by this CA |
| `--tlscert` | `string` | `/root/.docker/cert.pem` | Path to TLS certificate file |
| `--tlskey` | `string` | `/root/.docker/key.pem` | Path to TLS key file |
| `--tlsverify` | | | Use TLS and verify the remote |
<!---MARKER_GEN_END-->
## Description
The base command for the Docker CLI is `docker`. For information about the
available flags and subcommands, refer to the [CLI reference](docker.md)
Depending on your Docker system configuration, you may be required to preface
each `docker` command with `sudo`. To avoid having to use `sudo` with the
@ -124,7 +27,7 @@ The following list of environment variables are supported by the `docker` comman
line:
| Variable | Description |
|:------------------------------|:-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| :---------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `DOCKER_API_VERSION` | Override the negotiated API version to use for debugging (e.g. `1.19`) |
| `DOCKER_CERT_PATH` | Location of your authentication keys. This variable is used both by the `docker` CLI and the [`dockerd` daemon](dockerd.md) |
| `DOCKER_CONFIG` | The location of your client configuration files. |
@ -136,7 +39,7 @@ line:
| `DOCKER_HOST` | Daemon socket to connect to. |
| `DOCKER_TLS` | Enable TLS for connections made by the `docker` CLI (equivalent of the `--tls` command-line option). Set to a non-empty value to enable TLS. Note that TLS is enabled automatically if any of the other TLS options are set. |
| `DOCKER_TLS_VERIFY` | When set Docker uses TLS and verifies the remote. This variable is used both by the `docker` CLI and the [`dockerd` daemon](dockerd.md) |
| `BUILDKIT_PROGRESS` | Set type of progress output (`auto`, `plain`, `tty`) when [building](build.md) with [BuildKit backend](https://docs.docker.com/build/buildkit/). Use plain to show container output (default `auto`). |
| `BUILDKIT_PROGRESS` | Set type of progress output (`auto`, `plain`, `tty`) when [building](image_build.md) with [BuildKit backend](https://docs.docker.com/build/buildkit/). Use plain to show container output (default `auto`). |
Because Docker is developed using Go, you can also use any environment
variables used by the Go runtime. In particular, you may find these useful:
@ -156,7 +59,7 @@ By default, the Docker command line stores its configuration files in a
directory called `.docker` within your `$HOME` directory.
Docker manages most of the files in the configuration directory
and you should not modify them. However, you can modify the
and you shouldn't modify them. However, you can modify the
`config.json` file to control certain aspects of how the `docker`
command behaves.
@ -167,7 +70,6 @@ and the `--config` flag are set, the flag takes precedent over the environment
variable. Command line options override environment variables and environment
variables override properties you specify in a `config.json` file.
### Change the `.docker` directory
To specify a different directory, use the `DOCKER_CONFIG`
@ -201,7 +103,7 @@ By default, configuration file is stored in `~/.docker/config.json`. Refer to th
different location.
> **Warning**
>
>
> The configuration file and other files inside the `~/.docker` configuration
> directory may contain sensitive information, such as authentication information
> for proxies or, depending on your credential store, credentials for your image
@ -210,40 +112,39 @@ different location.
### Customize the default output format for commands
These fields allow you to customize the default output format for some commands
These fields lets you customize the default output format for some commands
if no `--format` flag is provided.
| Property | Description |
| :--------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `configFormat` | Custom default format for `docker config ls` output. See [`docker config ls`](config_ls.md#format) for a list of supported formatting directives. |
| `imagesFormat` | Custom default format for `docker images` / `docker image ls` output. See [`docker images`](images.md#format) for a list of supported formatting directives. |
| `imagesFormat` | Custom default format for `docker images` / `docker image ls` output. See [`docker images`](image_ls.md#format) for a list of supported formatting directives. |
| `networksFormat` | Custom default format for `docker network ls` output. See [`docker network ls`](network_ls.md#format) for a list of supported formatting directives. |
| `nodesFormat` | Custom default format for `docker node ls` output. See [`docker node ls`](node_ls.md#format) for a list of supported formatting directives. |
| `pluginsFormat` | Custom default format for `docker plugin ls` output. See [`docker plugin ls`](plugin_ls.md#format) for a list of supported formatting directives. |
| `psFormat` | Custom default format for `docker ps` / `docker container ps` output. See [`docker ps`](ps.md#format) for a list of supported formatting directives. |
| `psFormat` | Custom default format for `docker ps` / `docker container ps` output. See [`docker ps`](container_ls.md#format) for a list of supported formatting directives. |
| `secretFormat` | Custom default format for `docker secret ls` output. See [`docker secret ls`](secret_ls.md#format) for a list of supported formatting directives. |
| `serviceInspectFormat` | Custom default format for `docker service inspect` output. See [`docker service inspect`](service_inspect.md#format) for a list of supported formatting directives. |
| `servicesFormat` | Custom default format for `docker service ls` output. See [`docker service ls`](service_ls.md#format) for a list of supported formatting directives. |
| `statsFormat` | Custom default format for `docker stats` output. See [`docker stats`](stats.md#format) for a list of supported formatting directives. |
| `statsFormat` | Custom default format for `docker stats` output. See [`docker stats`](container_stats.md#format) for a list of supported formatting directives. |
| `tasksFormat` | Custom default format for `docker stack ps` output. See [`docker stack ps`](stack_ps.md#format) for a list of supported formatting directives. |
| `volumesFormat` | Custom default format for `docker volume ls` output. See [`docker volume ls`](volume_ls.md#format) for a list of supported formatting directives. |
### Custom HTTP headers
The property `HttpHeaders` specifies a set of headers to include in all messages
sent from the Docker client to the daemon. Docker does not try to interpret or
sent from the Docker client to the daemon. Docker doesn't try to interpret or
understand these headers; it simply puts them into the messages. Docker does
not allow these headers to change any headers it sets for itself.
### Credential store options
The property `credsStore` specifies an external binary to serve as the default
credential store. When this property is set, `docker login` will attempt to
store credentials in the binary specified by `docker-credential-<value>` which
is visible on `$PATH`. If this property is not set, credentials will be stored
in the `auths` property of the config. For more information, see the
[**Credential stores** section in the `docker login` documentation](login.md#credential-stores)
is visible on `$PATH`. If this property isn't set, credentials are stored
in the `auths` property of the CLI configuration file. For more information,
see the [**Credential stores** section in the `docker login` documentation](login.md#credential-stores)
The property `credHelpers` specifies a set of credential helpers to use
preferentially over `credsStore` or `auths` when storing and retrieving
@ -252,14 +153,13 @@ credentials for specific registries. If this property is set, the binary
for a specific registry. For more information, see the
[**Credential helpers** section in the `docker login` documentation](login.md#credential-helpers)
### Automatic proxy configuration for containers
The property `proxies` specifies proxy environment variables to be automatically
set on containers, and set as `--build-arg` on containers used during `docker build`.
A `"default"` set of proxies can be configured, and will be used for any docker
daemon that the client connects to, or a configuration per host (docker daemon),
for example, "https://docker-daemon1.example.com". The following properties can
A `"default"` set of proxies can be configured, and will be used for any Docker
daemon that the client connects to, or a configuration per host (Docker daemon),
for example, `https://docker-daemon1.example.com`. The following properties can
be set for each environment:
| Property | Description |
@ -276,11 +176,12 @@ used as proxy settings for the `docker` CLI or the `dockerd` daemon. Refer to th
sections for configuring proxy settings for the cli and daemon.
> **Warning**
>
>
> Proxy settings may contain sensitive information (for example, if the proxy
> requires authentication). Environment variables are stored as plain text in
> the container's configuration, and as such can be inspected through the remote
> API or committed to an image when using `docker commit`.
{ .warning }
### Default key-sequence to detach from containers
@ -294,7 +195,7 @@ a letter [a-Z], or the `ctrl-` combined with any of the following:
* `@` (at sign)
* `[` (left bracket)
* `\\` (two backward slashes)
* `_` (underscore)
* `_` (underscore)
* `^` (caret)
Your customization applies to all containers started in with your Docker client.
@ -302,13 +203,12 @@ Users can override your custom or the default key sequence on a per-container
basis. To do this, the user specifies the `--detach-keys` flag with the `docker
attach`, `docker exec`, `docker run` or `docker start` command.
### CLI Plugin options
### CLI plugin options
The property `plugins` contains settings specific to CLI plugins. The
key is the plugin name, while the value is a further map of options,
which are specific to that plugin.
### Sample configuration file
Following is a sample `config.json` file to illustrate the format used for
@ -372,7 +272,7 @@ and require no configuration to enable them.
If using your own notary server and a self-signed certificate or an internal
Certificate Authority, you need to place the certificate at
`tls/<registry_url>/ca.crt` in your docker config directory.
`tls/<registry_url>/ca.crt` in your Docker config directory.
Alternatively you can trust the certificate globally by adding it to your system's
list of root Certificate Authorities.
@ -429,6 +329,13 @@ to the `/var/run/docker.sock` Unix socket on the SSH host.
$ docker -H ssh://user@192.168.64.5 ps
```
You can optionally specify the location of the socket by appending a path
component to the end of the SSH address.
```console
$ docker -H ssh://user@192.168.64.5/var/run/docker.sock ps
```
### Display help text
To list the help on any command just execute the command, followed by the

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -33,4 +33,4 @@ With the `--json` flag, a json object is printed one per line with the format:
}
```
The events that can be received using this can be seen [here](https://docs.docker.com/engine/reference/commandline/events/#object-types).
The events that can be received using this can be seen [here](https://docs.docker.com/engine/reference/commandline/system_events/#object-types).

View File

@ -19,7 +19,7 @@ long: |-
}
```
The events that can be received using this can be seen [here](/engine/reference/commandline/events/#object-types).
The events that can be received using this can be seen [here](/engine/reference/commandline/system_events/#object-types).
usage: docker compose events [OPTIONS] [SERVICE...]
pname: docker compose
plink: docker_compose.yaml

View File

@ -377,7 +377,7 @@ Return low-level information on the container `id`
"WorkingDir": ""
},
"Created": "2015-01-06T15:47:31.485331387Z",
"Driver": "devicemapper",
"Driver": "overlay2",
"ExecDriver": "native-0.2",
"ExecIDs": null,
"HostConfig": {

View File

@ -387,7 +387,7 @@ Return low-level information on the container `id`
"WorkingDir": ""
},
"Created": "2015-01-06T15:47:31.485331387Z",
"Driver": "devicemapper",
"Driver": "overlay2",
"ExecDriver": "native-0.2",
"ExecIDs": null,
"HostConfig": {

View File

@ -390,7 +390,7 @@ Return low-level information on the container `id`
"WorkingDir": ""
},
"Created": "2015-01-06T15:47:31.485331387Z",
"Driver": "devicemapper",
"Driver": "overlay2",
"ExecDriver": "native-0.2",
"ExecIDs": null,
"HostConfig": {

View File

@ -412,7 +412,7 @@ Return low-level information on the container `id`
"StopSignal": "SIGTERM"
},
"Created": "2015-01-06T15:47:31.485331387Z",
"Driver": "devicemapper",
"Driver": "overlay2",
"ExecDriver": "native-0.2",
"ExecIDs": null,
"HostConfig": {

View File

@ -529,7 +529,7 @@ Return low-level information on the container `id`
"StopSignal": "SIGTERM"
},
"Created": "2015-01-06T15:47:31.485331387Z",
"Driver": "devicemapper",
"Driver": "overlay2",
"ExecIDs": null,
"HostConfig": {
"Binds": null,

View File

@ -555,7 +555,7 @@ Return low-level information on the container `id`
"StopSignal": "SIGTERM"
},
"Created": "2015-01-06T15:47:31.485331387Z",
"Driver": "devicemapper",
"Driver": "overlay2",
"ExecIDs": null,
"HostConfig": {
"Binds": null,

View File

@ -597,7 +597,7 @@ Return low-level information on the container `id`
"StopSignal": "SIGTERM"
},
"Created": "2015-01-06T15:47:31.485331387Z",
"Driver": "devicemapper",
"Driver": "overlay2",
"ExecIDs": null,
"HostConfig": {
"Binds": null,

View File

@ -2995,7 +2995,7 @@ paths:
StopSignal: "SIGTERM"
StopTimeout: 10
Created: "2015-01-06T15:47:31.485331387Z"
Driver: "devicemapper"
Driver: "overlay2"
HostConfig:
MaximumIOps: 0
MaximumIOBps: 0
@ -6149,6 +6149,10 @@ paths:
example:
Id: "22be93d5babb089c5aab8dbc369042fad48ff791584ca2da2100db837a1c7c30"
Warning: ""
400:
description: "bad parameter"
schema:
$ref: "#/definitions/ErrorResponse"
403:
description: "operation not supported for pre-defined networks"
schema:

View File

@ -3000,7 +3000,7 @@ paths:
StopSignal: "SIGTERM"
StopTimeout: 10
Created: "2015-01-06T15:47:31.485331387Z"
Driver: "devicemapper"
Driver: "overlay2"
HostConfig:
MaximumIOps: 0
MaximumIOBps: 0
@ -6158,6 +6158,10 @@ paths:
example:
Id: "22be93d5babb089c5aab8dbc369042fad48ff791584ca2da2100db837a1c7c30"
Warning: ""
400:
description: "bad parameter"
schema:
$ref: "#/definitions/ErrorResponse"
403:
description: "operation not supported for pre-defined networks"
schema:

View File

@ -3060,7 +3060,7 @@ paths:
StopSignal: "SIGTERM"
StopTimeout: 10
Created: "2015-01-06T15:47:31.485331387Z"
Driver: "devicemapper"
Driver: "overlay2"
HostConfig:
MaximumIOps: 0
MaximumIOBps: 0
@ -6229,6 +6229,10 @@ paths:
example:
Id: "22be93d5babb089c5aab8dbc369042fad48ff791584ca2da2100db837a1c7c30"
Warning: ""
400:
description: "bad parameter"
schema:
$ref: "#/definitions/ErrorResponse"
403:
description: "operation not supported for pre-defined networks"
schema:

View File

@ -3150,7 +3150,7 @@ paths:
StopSignal: "SIGTERM"
StopTimeout: 10
Created: "2015-01-06T15:47:31.485331387Z"
Driver: "devicemapper"
Driver: "overlay2"
HostConfig:
MaximumIOps: 0
MaximumIOBps: 0
@ -6358,6 +6358,10 @@ paths:
example:
Id: "22be93d5babb089c5aab8dbc369042fad48ff791584ca2da2100db837a1c7c30"
Warning: ""
400:
description: "bad parameter"
schema:
$ref: "#/definitions/ErrorResponse"
403:
description: "operation not supported for pre-defined networks"
schema:

View File

@ -3184,7 +3184,7 @@ paths:
StopSignal: "SIGTERM"
StopTimeout: 10
Created: "2015-01-06T15:47:31.485331387Z"
Driver: "devicemapper"
Driver: "overlay2"
HostConfig:
MaximumIOps: 0
MaximumIOBps: 0
@ -6396,6 +6396,10 @@ paths:
example:
Id: "22be93d5babb089c5aab8dbc369042fad48ff791584ca2da2100db837a1c7c30"
Warning: ""
400:
description: "bad parameter"
schema:
$ref: "#/definitions/ErrorResponse"
403:
description: "operation not supported for pre-defined networks"
schema:

View File

@ -3410,7 +3410,7 @@ paths:
StopSignal: "SIGTERM"
StopTimeout: 10
Created: "2015-01-06T15:47:31.485331387Z"
Driver: "devicemapper"
Driver: "overlay2"
HostConfig:
MaximumIOps: 0
MaximumIOBps: 0
@ -6659,6 +6659,10 @@ paths:
example:
Id: "22be93d5babb089c5aab8dbc369042fad48ff791584ca2da2100db837a1c7c30"
Warning: ""
400:
description: "bad parameter"
schema:
$ref: "#/definitions/ErrorResponse"
403:
description: "operation not supported for pre-defined networks"
schema:

View File

@ -3480,7 +3480,7 @@ paths:
StopSignal: "SIGTERM"
StopTimeout: 10
Created: "2015-01-06T15:47:31.485331387Z"
Driver: "devicemapper"
Driver: "overlay2"
HostConfig:
MaximumIOps: 0
MaximumIOBps: 0
@ -6757,6 +6757,10 @@ paths:
example:
Id: "22be93d5babb089c5aab8dbc369042fad48ff791584ca2da2100db837a1c7c30"
Warning: ""
400:
description: "bad parameter"
schema:
$ref: "#/definitions/ErrorResponse"
403:
description: "operation not supported for pre-defined networks"
schema:

View File

@ -3720,10 +3720,6 @@ definitions:
ServerVersion:
description: |
Version string of the daemon.
> **Note**: the [standalone Swarm API](https://docs.docker.com/swarm/swarm-api/)
> returns the Swarm version instead of the daemon version, for example
> `swarm/1.2.8`.
type: "string"
example: "17.06.0-ce"
ClusterStore:
@ -4720,7 +4716,7 @@ paths:
StopSignal: "SIGTERM"
StopTimeout: 10
Created: "2015-01-06T15:47:31.485331387Z"
Driver: "devicemapper"
Driver: "overlay2"
HostConfig:
MaximumIOps: 0
MaximumIOBps: 0
@ -7800,6 +7796,10 @@ paths:
example:
Id: "22be93d5babb089c5aab8dbc369042fad48ff791584ca2da2100db837a1c7c30"
Warning: ""
400:
description: "bad parameter"
schema:
$ref: "#/definitions/ErrorResponse"
403:
description: "operation not supported for pre-defined networks"
schema:

View File

@ -3725,10 +3725,6 @@ definitions:
ServerVersion:
description: |
Version string of the daemon.
> **Note**: the [standalone Swarm API](https://docs.docker.com/swarm/swarm-api/)
> returns the Swarm version instead of the daemon version, for example
> `swarm/1.2.8`.
type: "string"
example: "17.06.0-ce"
ClusterStore:
@ -4725,7 +4721,7 @@ paths:
StopSignal: "SIGTERM"
StopTimeout: 10
Created: "2015-01-06T15:47:31.485331387Z"
Driver: "devicemapper"
Driver: "overlay2"
HostConfig:
MaximumIOps: 0
MaximumIOBps: 0
@ -7809,6 +7805,10 @@ paths:
example:
Id: "22be93d5babb089c5aab8dbc369042fad48ff791584ca2da2100db837a1c7c30"
Warning: ""
400:
description: "bad parameter"
schema:
$ref: "#/definitions/ErrorResponse"
403:
description: "operation not supported for pre-defined networks"
schema:

View File

@ -3754,10 +3754,6 @@ definitions:
ServerVersion:
description: |
Version string of the daemon.
> **Note**: the [standalone Swarm API](https://docs.docker.com/swarm/swarm-api/)
> returns the Swarm version instead of the daemon version, for example
> `swarm/1.2.8`.
type: "string"
example: "17.06.0-ce"
ClusterStore:
@ -4754,7 +4750,7 @@ paths:
StopSignal: "SIGTERM"
StopTimeout: 10
Created: "2015-01-06T15:47:31.485331387Z"
Driver: "devicemapper"
Driver: "overlay2"
HostConfig:
MaximumIOps: 0
MaximumIOBps: 0
@ -7850,6 +7846,10 @@ paths:
example:
Id: "22be93d5babb089c5aab8dbc369042fad48ff791584ca2da2100db837a1c7c30"
Warning: ""
400:
description: "bad parameter"
schema:
$ref: "#/definitions/ErrorResponse"
403:
description: "operation not supported for pre-defined networks"
schema:

View File

@ -3736,10 +3736,6 @@ definitions:
ServerVersion:
description: |
Version string of the daemon.
> **Note**: the [standalone Swarm API](https://docs.docker.com/swarm/swarm-api/)
> returns the Swarm version instead of the daemon version, for example
> `swarm/1.2.8`.
type: "string"
example: "17.06.0-ce"
ClusterStore:
@ -4736,7 +4732,7 @@ paths:
StopSignal: "SIGTERM"
StopTimeout: 10
Created: "2015-01-06T15:47:31.485331387Z"
Driver: "devicemapper"
Driver: "overlay2"
HostConfig:
MaximumIOps: 0
MaximumIOBps: 0
@ -7862,6 +7858,10 @@ paths:
example:
Id: "22be93d5babb089c5aab8dbc369042fad48ff791584ca2da2100db837a1c7c30"
Warning: ""
400:
description: "bad parameter"
schema:
$ref: "#/definitions/ErrorResponse"
403:
description: "operation not supported for pre-defined networks"
schema:

View File

@ -3749,10 +3749,6 @@ definitions:
ServerVersion:
description: |
Version string of the daemon.
> **Note**: the [standalone Swarm API](https://docs.docker.com/swarm/swarm-api/)
> returns the Swarm version instead of the daemon version, for example
> `swarm/1.2.8`.
type: "string"
example: "17.06.0-ce"
ClusterStore:
@ -4752,7 +4748,7 @@ paths:
StopSignal: "SIGTERM"
StopTimeout: 10
Created: "2015-01-06T15:47:31.485331387Z"
Driver: "devicemapper"
Driver: "overlay2"
HostConfig:
MaximumIOps: 0
MaximumIOBps: 0
@ -7904,6 +7900,10 @@ paths:
example:
Id: "22be93d5babb089c5aab8dbc369042fad48ff791584ca2da2100db837a1c7c30"
Warning: ""
400:
description: "bad parameter"
schema:
$ref: "#/definitions/ErrorResponse"
403:
description: "operation not supported for pre-defined networks"
schema:

View File

@ -3769,10 +3769,6 @@ definitions:
ServerVersion:
description: |
Version string of the daemon.
> **Note**: the [standalone Swarm API](https://docs.docker.com/swarm/swarm-api/)
> returns the Swarm version instead of the daemon version, for example
> `swarm/1.2.8`.
type: "string"
example: "17.06.0-ce"
ClusterStore:
@ -4772,7 +4768,7 @@ paths:
StopSignal: "SIGTERM"
StopTimeout: 10
Created: "2015-01-06T15:47:31.485331387Z"
Driver: "devicemapper"
Driver: "overlay2"
HostConfig:
MaximumIOps: 0
MaximumIOBps: 0
@ -7947,6 +7943,10 @@ paths:
example:
Id: "22be93d5babb089c5aab8dbc369042fad48ff791584ca2da2100db837a1c7c30"
Warning: ""
400:
description: "bad parameter"
schema:
$ref: "#/definitions/ErrorResponse"
403:
description: "operation not supported for pre-defined networks"
schema:

View File

@ -3823,10 +3823,6 @@ definitions:
ServerVersion:
description: |
Version string of the daemon.
> **Note**: the [standalone Swarm API](https://docs.docker.com/swarm/swarm-api/)
> returns the Swarm version instead of the daemon version, for example
> `swarm/1.2.8`.
type: "string"
example: "17.06.0-ce"
ClusterStore:
@ -4830,7 +4826,7 @@ paths:
StopSignal: "SIGTERM"
StopTimeout: 10
Created: "2015-01-06T15:47:31.485331387Z"
Driver: "devicemapper"
Driver: "overlay2"
ExecIDs:
- "b35395de42bc8abd327f9dd65d913b9ba28c74d2f0734eeeae84fa1c616a0fca"
- "3fc1232e5cd20c8de182ed81178503dc6437f4e7ef12b52cc5e8de020652f1c4"
@ -8008,6 +8004,10 @@ paths:
example:
Id: "22be93d5babb089c5aab8dbc369042fad48ff791584ca2da2100db837a1c7c30"
Warning: ""
400:
description: "bad parameter"
schema:
$ref: "#/definitions/ErrorResponse"
403:
description: "operation not supported for pre-defined networks"
schema:

View File

@ -4811,10 +4811,6 @@ definitions:
ServerVersion:
description: |
Version string of the daemon.
> **Note**: the [standalone Swarm API](https://docs.docker.com/swarm/swarm-api/)
> returns the Swarm version instead of the daemon version, for example
> `swarm/1.2.8`.
type: "string"
example: "17.06.0-ce"
ClusterStore:
@ -5822,7 +5818,7 @@ paths:
StopSignal: "SIGTERM"
StopTimeout: 10
Created: "2015-01-06T15:47:31.485331387Z"
Driver: "devicemapper"
Driver: "overlay2"
ExecIDs:
- "b35395de42bc8abd327f9dd65d913b9ba28c74d2f0734eeeae84fa1c616a0fca"
- "3fc1232e5cd20c8de182ed81178503dc6437f4e7ef12b52cc5e8de020652f1c4"
@ -8957,6 +8953,10 @@ paths:
example:
Id: "22be93d5babb089c5aab8dbc369042fad48ff791584ca2da2100db837a1c7c30"
Warning: ""
400:
description: "bad parameter"
schema:
$ref: "#/definitions/ErrorResponse"
403:
description: "operation not supported for pre-defined networks"
schema:

View File

@ -4947,10 +4947,6 @@ definitions:
ServerVersion:
description: |
Version string of the daemon.
> **Note**: the [standalone Swarm API](https://docs.docker.com/swarm/swarm-api/)
> returns the Swarm version instead of the daemon version, for example
> `swarm/1.2.8`.
type: "string"
example: "17.06.0-ce"
ClusterStore:
@ -6123,7 +6119,7 @@ paths:
StopSignal: "SIGTERM"
StopTimeout: 10
Created: "2015-01-06T15:47:31.485331387Z"
Driver: "devicemapper"
Driver: "overlay2"
ExecIDs:
- "b35395de42bc8abd327f9dd65d913b9ba28c74d2f0734eeeae84fa1c616a0fca"
- "3fc1232e5cd20c8de182ed81178503dc6437f4e7ef12b52cc5e8de020652f1c4"
@ -9294,6 +9290,10 @@ paths:
example:
Id: "22be93d5babb089c5aab8dbc369042fad48ff791584ca2da2100db837a1c7c30"
Warning: ""
400:
description: "bad parameter"
schema:
$ref: "#/definitions/ErrorResponse"
403:
description: "operation not supported for pre-defined networks"
schema:

View File

@ -6311,7 +6311,7 @@ paths:
StopSignal: "SIGTERM"
StopTimeout: 10
Created: "2015-01-06T15:47:31.485331387Z"
Driver: "devicemapper"
Driver: "overlay2"
ExecIDs:
- "b35395de42bc8abd327f9dd65d913b9ba28c74d2f0734eeeae84fa1c616a0fca"
- "3fc1232e5cd20c8de182ed81178503dc6437f4e7ef12b52cc5e8de020652f1c4"
@ -9497,6 +9497,10 @@ paths:
example:
Id: "22be93d5babb089c5aab8dbc369042fad48ff791584ca2da2100db837a1c7c30"
Warning: ""
400:
description: "bad parameter"
schema:
$ref: "#/definitions/ErrorResponse"
403:
description: "operation not supported for pre-defined networks"
schema:

View File

@ -9875,6 +9875,10 @@ paths:
example:
Id: "22be93d5babb089c5aab8dbc369042fad48ff791584ca2da2100db837a1c7c30"
Warning: ""
400:
description: "bad parameter"
schema:
$ref: "#/definitions/ErrorResponse"
403:
description: "operation not supported for pre-defined networks"
schema:

View File

@ -9893,6 +9893,10 @@ paths:
example:
Id: "22be93d5babb089c5aab8dbc369042fad48ff791584ca2da2100db837a1c7c30"
Warning: ""
400:
description: "bad parameter"
schema:
$ref: "#/definitions/ErrorResponse"
403:
description: "operation not supported for pre-defined networks"
schema:

File diff suppressed because it is too large Load Diff

View File

@ -13,6 +13,73 @@ keywords: "API, Docker, rcli, REST, documentation"
will be rejected.
-->
## v1.44 API changes
[Docker Engine API v1.44](https://docs.docker.com/engine/api/v1.44/) documentation
* GET `/images/json` now accepts an `until` filter. This accepts a timestamp and
lists all images created before it. The `<timestamp>` can be Unix timestamps,
date formatted timestamps, or Go duration strings (e.g. `10m`, `1h30m`)
computed relative to the daemon machines time. This change is not versioned,
and affects all API versions if the daemon has this patch.
* The `VirtualSize` field in the `GET /images/{name}/json`, `GET /images/json`,
and `GET /system/df` responses is now omitted. Use the `Size` field instead,
which contains the same information.
* Deprecated: The `is_automated` field in the `GET /images/search` response has
been deprecated and will always be set to false in the future because Docker
Hub is deprecating the `is_automated` field in its search API. The deprecation
is not versioned, and applies to all API versions.
* Deprecated: The `is-automated` filter for the `GET /images/search` endpoint.
The `is_automated` field has been deprecated by Docker Hub's search API.
Consequently, searching for `is-automated=true` will yield no results. The
deprecation is not versioned, and applies to all API versions.
* Read-only bind mounts are now made recursively read-only on kernel >= 5.12
with runtimes which support the feature.
`POST /containers/create`, `GET /containers/{id}/json`, and `GET /containers/json` now supports
`BindOptions.ReadOnlyNonRecursive` and `BindOptions.ReadOnlyForceRecursive` to customize the behavior.
* `POST /containers/create` now accepts a `HealthConfig.StartInterval` to set the
interval for health checks during the start period.
* `GET /info` now includes a `CDISpecDirs` field indicating the configured CDI
specifications directories. The use of the applied setting requires the daemon
to have expermental enabled, and for non-experimental daemons an empty list is
always returned.
* `POST /networks/create` now returns a 400 if the `IPAMConfig` has invalid
values. Note that this change is _unversioned_ and applied to all API
versions on daemon that support version 1.44.
* `POST /networks/create` with a duplicated name now fails systematically. As
such, the `CheckDuplicate` field is now deprecated. Note that this change is
_unversioned_ and applied to all API versions on daemon that support version
1.44.
* `POST /containers/create` now accepts multiple `EndpointSettings` in
`NetworkingConfig.EndpointSettings`.
* `POST /containers/create` and `POST /networks/{id}/connect` will now catch
validation errors that were previously only returned during `POST /containers/{id}/start`.
These endpoints will also return the full set of validation errors they find,
instead of returning only the first one.
Note that this change is _unversioned_ and applies to all API versions.
* `POST /services/create` and `POST /services/{id}/update` now accept `Seccomp`
and `AppArmor` fields in the `ContainerSpec.Privileges` object. This allows
some configuration of Seccomp and AppArmor in Swarm services.
* A new endpoint-specific `MacAddress` field has been added to `NetworkSettings.EndpointSettings`
on `POST /containers/create`, and to `EndpointConfig` on `POST /networks/{id}/connect`.
The container-wide `MacAddress` field in `Config`, on `POST /containers/create`, is now deprecated.
* The field `Networks` in the `POST /services/create` and `POST /services/{id}/update`
requests is now deprecated. You should instead use the field `TaskTemplate.Networks`.
* The `Container` and `ContainerConfig` fields in the `GET /images/{name}/json`
response are deprecated and will no longer be included in API v1.45.
* `GET /info` now includes `status` properties in `Runtimes`.
* A new field named `DNSNames` and containing all non-fully qualified DNS names
a container takes on a specific network has been added to `GET /containers/{name:.*}/json`.
* The `Aliases` field returned in calls to `GET /containers/{name:.*}/json` in v1.44 and older
versions contains the short container ID. This will change in the next API version, v1.45.
Starting with that API version, this specific value will be removed from the `Aliases` field
such that this field will reflect exactly the values originally submitted to the
`POST /containers/create` endpoint. The newly introduced `DNSNames` should now be used instead.
* The fields `HairpinMode`, `LinkLocalIPv6Address`, `LinkLocalIPv6PrefixLen`, `SecondaryIPAddresses`,
`SecondaryIPv6Addresses` available in `NetworkSettings` when calling `GET /containers/{id}/json` are
deprecated and will be removed in a future release. You should instead look for the default network in
`NetworkSettings.Networks`.
## v1.43 API changes
[Docker Engine API v1.43](https://docs.docker.com/engine/api/v1.43/) documentation
@ -81,7 +148,7 @@ keywords: "API, Docker, rcli, REST, documentation"
a default.
This change is not versioned, and affects all API versions if the daemon has
this patch.
this patch.
* `GET /_ping` and `HEAD /_ping` now return a `Swarm` header, which allows a
client to detect if Swarm is enabled on the daemon, without having to call
additional endpoints.
@ -104,7 +171,7 @@ keywords: "API, Docker, rcli, REST, documentation"
versioned, and affects all API versions if the daemon has this patch.
* `GET /containers/{id}/attach`, `GET /exec/{id}/start`, `GET /containers/{id}/logs`
`GET /services/{id}/logs` and `GET /tasks/{id}/logs` now set Content-Type header
to `application/vnd.docker.multiplexed-stream` when a multiplexed stdout/stderr
to `application/vnd.docker.multiplexed-stream` when a multiplexed stdout/stderr
stream is sent to client, `application/vnd.docker.raw-stream` otherwise.
* `POST /volumes/create` now accepts a new `ClusterVolumeSpec` to create a cluster
volume (CNI). This option can only be used if the daemon is a Swarm manager.
@ -117,7 +184,7 @@ keywords: "API, Docker, rcli, REST, documentation"
* Volume information returned by `GET /volumes/{name}`, `GET /volumes` and
`GET /system/df` can now contain a `ClusterVolume` if the volume is a cluster
volume (requires the daemon to be a Swarm manager).
* The `Volume` type, as returned by `Added new `ClusterVolume` fields
* The `Volume` type, as returned by `Added new `ClusterVolume` fields
* Added a new `PUT /volumes{name}` endpoint to update cluster volumes (CNI).
Cluster volumes are only supported if the daemon is a Swarm manager.
* `GET /containers/{name}/attach/ws` endpoint now accepts `stdin`, `stdout` and
@ -333,7 +400,7 @@ keywords: "API, Docker, rcli, REST, documentation"
[Docker Engine API v1.36](https://docs.docker.com/engine/api/v1.36/) documentation
* `Get /events` now return `exec_die` event when an exec process terminates.
* `Get /events` now return `exec_die` event when an exec process terminates.
## v1.35 API changes
@ -541,7 +608,7 @@ keywords: "API, Docker, rcli, REST, documentation"
* `POST /services/create` and `POST /services/(id or name)/update` now accept the `TTY` parameter, which allocate a pseudo-TTY in container.
* `POST /services/create` and `POST /services/(id or name)/update` now accept the `DNSConfig` parameter, which specifies DNS related configurations in resolver configuration file (resolv.conf) through `Nameservers`, `Search`, and `Options`.
* `POST /services/create` and `POST /services/(id or name)/update` now support
`node.platform.arch` and `node.platform.os` constraints in the services
`node.platform.arch` and `node.platform.os` constraints in the services
`TaskSpec.Placement.Constraints` field.
* `GET /networks/(id or name)` now includes IP and name of all peers nodes for swarm mode overlay networks.
* `GET /plugins` list plugins.

View File

@ -1,6 +1,6 @@
# github.com/moby/moby v24.0.8-0.20240109122856-854ca341c0f6+incompatible
# github.com/moby/moby v25.0.0+incompatible
# github.com/moby/buildkit v0.13.0-beta1.0.20240116143623-28ce478b1fde
# github.com/docker/buildx v0.12.1
# github.com/docker/scout-cli v1.3.0
# github.com/docker/cli v25.0.0-rc.3+incompatible
# github.com/docker/compose/v2 v2.24.1
# github.com/docker/cli v25.0.1-0.20240119143135-01f933261885+incompatible
# github.com/docker/compose/v2 v2.24.2-0.20240119115212-388169011f47

View File

@ -38,7 +38,7 @@ Some projects may need distinct Dockerfiles for specific purposes. A common
convention is to name these `<something>.Dockerfile`. You can specify the
Dockerfile filename using the `--file` flag for the `docker build` command.
Refer to the
[`docker build` CLI reference](../../engine/reference/commandline/build.md#file)
[`docker build` CLI reference](../../engine/reference/commandline/image_build.md#file)
to learn about the `--file` flag.
> **Note**

View File

@ -103,7 +103,7 @@ This is explored later on in this guide.
Related information:
- [`docker build --output` CLI reference](../../engine/reference/commandline/build.md#output)
- [`docker build --output` CLI reference](../../engine/reference/commandline/image_build.md#output)
- [Build exporters](../exporters/index.md)
## Next steps

View File

@ -160,8 +160,8 @@ container image and created a container from it.
Related information:
- [Dockerfile reference](../../engine/reference/builder.md)
- [`docker build` CLI reference](../../engine/reference/commandline/build.md)
- [`docker run` CLI reference](../../engine/reference/commandline/run.md)
- [`docker build` CLI reference](../../engine/reference/commandline/image_build.md)
- [`docker run` CLI reference](../../engine/reference/commandline/container_run.md)
## Next steps

View File

@ -273,7 +273,7 @@ An entry with the ip address and hostname is created in `/etc/hosts` inside cont
Specify a builds container isolation technology. On Linux, the only supported value
is `default`. On Windows, acceptable values are `default`, `process` and
`hyperv`. Refer to the
[Docker Engine docs](../../engine/reference/commandline/run.md#isolation)
[Docker Engine docs](../../engine/reference/commandline/container_run.md#isolation)
for details.
If unspecified, Compose will use the `isolation` value found in the service's definition
@ -778,7 +778,7 @@ host system to be added. An example of where this is useful is when multiple
containers (running as different users) need to all read or write the same
file on the host system. That file can be owned by a group shared by all the
containers, and specified in `group_add`. See the
[Docker documentation](../../engine/reference/run.md#additional-groups) for more
[Docker documentation](../../engine/reference/commandline/container_run.md#additional-groups) for more
details.
A full example:
@ -900,7 +900,7 @@ services:
Specify a containers isolation technology. On Linux, the only supported value
is `default`. On Windows, acceptable values are `default`, `process` and
`hyperv`. Refer to the
[Docker Engine docs](../../engine/reference/commandline/run.md#isolation)
[Docker Engine docs](../../engine/reference/commandline/container_run.md#isolation)
for details.
### labels
@ -1557,7 +1557,7 @@ restart: "unless-stopped"
### cpu_count, cpu_percent, cpu\_shares, cpu\_period, cpu\_quota, cpus, cpuset, domainname, hostname, ipc, mac\_address, mem\_limit, memswap\_limit, mem\_swappiness, mem\_reservation, oom_kill_disable, oom_score_adj, privileged, read\_only, shm\_size, stdin\_open, tty, user, working\_dir
Each of these is a single value, analogous to its
[docker run](../../engine/reference/run.md#runtime-constraints-on-resources) counterpart.
[docker run](../../engine/reference/commandline/container_run.md#runtime-constraints-on-resources) counterpart.
> Added in [version 2.2](compose-versioning.md#version-22) file format.
>
@ -1984,4 +1984,4 @@ networks:
- [Installing Compose](../install/index.md)
- [Compose file versions and upgrading](compose-versioning.md)
- [Sample apps with Compose](../samples-for-compose.md)
- [Command line reference](../reference/index.md)
- [Command line reference](../reference/index.md)

View File

@ -1339,7 +1339,7 @@ services:
Specify a containers isolation technology. On Linux, the only supported value
is `default`. On Windows, acceptable values are `default`, `process` and
`hyperv`. Refer to the
[Docker Engine docs](../../engine/reference/commandline/run.md#isolation)
[Docker Engine docs](../../engine/reference/commandline/container_run.md#isolation)
for details.
### labels
@ -1904,7 +1904,7 @@ sysctls:
You can only use sysctls that are namespaced in the kernel. Docker does not
support changing sysctls inside a container that also modify the host system.
For an overview of supported sysctls, refer to
[configure namespaced kernel parameters (sysctls) at runtime](../../engine/reference/commandline/run.md#sysctl).
[configure namespaced kernel parameters (sysctls) at runtime](../../engine/reference/commandline/container_run.md#sysctl).
> Note when using docker stack deploy
>
@ -2151,7 +2151,7 @@ services:
### domainname, hostname, ipc, mac\_address, privileged, read\_only, shm\_size, stdin\_open, tty, user, working\_dir
Each of these is a single value, analogous to its
[docker run](../../engine/reference/run.md) counterpart. Note that `mac_address` is a legacy option.
[docker run](../../engine/reference/commandline/container_run.md) counterpart. Note that `mac_address` is a legacy option.
```yaml
user: postgresql

View File

@ -3245,8 +3245,8 @@ Several new configuration keys have been added to `docker-compose.yml`:
- `pid: host`, like `docker run --pid=host`, lets you reuse the same PID namespace as the host machine.
- `cpuset`, like `docker run --cpuset-cpus`, lets you specify which CPUs to allow execution in.
- `read_only`, like `docker run --read-only`, lets you mount a container's filesystem as read-only.
- `security_opt`, like `docker run --security-opt`, lets you specify [security options](/engine/reference/run/#security-configuration).
- `log_driver`, like `docker run --log-driver`, lets you specify a [log driver](/engine/reference/run/#logging-drivers---log-driver).
- `security_opt`, like `docker run --security-opt`, lets you specify [security options](/engine/reference/commandline/container_run/#security-opt).
- `log_driver`, like `docker run --log-driver`, lets you specify a [log driver](/engine/reference/commandline/container_run/#log-driver).
### Bug fixes

View File

@ -15,7 +15,7 @@ on when you should set such limits and the possible implications of setting them
Many of these features require your kernel to support Linux capabilities. To
check for support, you can use the
[`docker info`](../../engine/reference/commandline/info.md) command. If a capability
[`docker info`](../../engine/reference/commandline/system_info.md) command. If a capability
is disabled in your kernel, you may see a warning at the end of the output like
the following:

View File

@ -25,7 +25,7 @@ redis1 0.07% 796 KB / 64 MB 1.21%
redis2 0.07% 2.746 MB / 64 MB 4.29% 1.266 KB / 648 B 12.4 MB / 0 B
```
The [`docker stats`](../../engine/reference/commandline/stats.md) reference
The [`docker stats`](../../engine/reference/commandline/container_stats.md) reference
page has more details about the `docker stats` command.
## Control groups

View File

@ -95,13 +95,13 @@ description for commands that support the `--filter` flag:
- [`docker config ls`](../engine/reference/commandline/config_ls.md)
- [`docker container prune`](../engine/reference/commandline/container_prune.md)
- [`docker image prune`](../engine/reference/commandline/image_prune.md)
- [`docker images`](../engine/reference/commandline/images.md)
- [`docker image ls`](../engine/reference/commandline/image_ls.md)
- [`docker network ls`](../engine/reference/commandline/network_ls.md)
- [`docker network prune`](../engine/reference/commandline/network_prune.md)
- [`docker node ls`](../engine/reference/commandline/node_ls.md)
- [`docker node ps`](../engine/reference/commandline/node_ps.md)
- [`docker plugin ls`](../engine/reference/commandline/plugin_ls.md)
- [`docker ps`](../engine/reference/commandline/ps.md)
- [`docker container ls`](../engine/reference/commandline/container_ls.md)
- [`docker search`](../engine/reference/commandline/search.md)
- [`docker secret ls`](../engine/reference/commandline/secret_ls.md)
- [`docker service ls`](../engine/reference/commandline/service_ls.md)

View File

@ -80,15 +80,15 @@ Labels on Swarm nodes and services can be updated dynamically.
- Images and containers
- [Adding labels to images](../engine/reference/builder.md#label)
- [Overriding a container's labels at runtime](../engine/reference/commandline/run.md#label)
- [Overriding a container's labels at runtime](../engine/reference/commandline/container_run.md#label)
- [Inspecting labels on images or containers](../engine/reference/commandline/inspect.md)
- [Filtering images by label](../engine/reference/commandline/images.md#filter)
- [Filtering containers by label](../engine/reference/commandline/ps.md#filter)
- [Filtering images by label](../engine/reference/commandline/image_ls.md#filter)
- [Filtering containers by label](../engine/reference/commandline/container_ls.md#filter)
- Local Docker daemons
- [Adding labels to a Docker daemon at runtime](../engine/reference/commandline/dockerd.md)
- [Inspecting a Docker daemon's labels](../engine/reference/commandline/info.md)
- [Inspecting a Docker daemon's labels](../engine/reference/commandline/system_info.md)
- Volumes

View File

@ -14,7 +14,7 @@ computer, for example.
## Save your data
1. Commit your containers to an image with [`docker container commit`](../engine/reference/commandline/commit.md).
1. Commit your containers to an image with [`docker container commit`](../engine/reference/commandline/container_commit.md).
Committing a container stores the container filesystem changes and some of the
container's configuration, for example labels and environment-variables, as a local image. Be aware that environment variables may contain sensitive
@ -26,13 +26,13 @@ computer, for example.
If you used a [named volume](../storage/index.md#more-details-about-mount-types) to store container data, such as databases, refer to the [back up, restore, or migrate data volumes](../storage/volumes.md#back-up-restore-or-migrate-data-volumes) page in the storage section.
2. Use [`docker push`](../engine/reference/commandline/push.md) to push any
2. Use [`docker push`](../engine/reference/commandline/image_push.md) to push any
images you have built locally and want to keep to the [Docker Hub registry](../docker-hub/index.md).
Make sure to configure the [repository's visibility as "private"](../docker-hub/repos/index.md)
for images that should not be publicly accessible.
Alternatively, use [`docker image save -o images.tar image1 [image2 ...]`](../engine/reference/commandline/save.md)
Alternatively, use [`docker image save -o images.tar image1 [image2 ...]`](../engine/reference/commandline/image_save.md)
to save any images you want to keep to a local tar file.
After backing up your data, you can uninstall the current version of Docker Desktop
@ -40,13 +40,13 @@ and [install a different version](release-notes.md) or reset Docker Desktop to f
## Restore your data
1. Use [`docker pull`](../engine/reference/commandline/pull.md) to restore images
1. Use [`docker pull`](../engine/reference/commandline/image_pull.md) to restore images
you pushed to Docker Hub.
If you backed up your images to a local tar file, use [`docker image load -i images.tar`](../engine/reference/commandline/load.md)
If you backed up your images to a local tar file, use [`docker image load -i images.tar`](../engine/reference/commandline/image_load.md)
to restore previously saved images.
2. Re-create your containers if needed, using [`docker run`](../engine/reference/commandline/run.md),
2. Re-create your containers if needed, using [`docker run`](../engine/reference/commandline/container_run.md),
or [Docker Compose](../compose/index.md).
Refer to the [backup, restore, or migrate data volumes](../storage/volumes.md#back-up-restore-or-migrate-data-volumes) page in the storage section to restore volume data.
Refer to the [backup, restore, or migrate data volumes](../storage/volumes.md#back-up-restore-or-migrate-data-volumes) page in the storage section to restore volume data.

View File

@ -150,7 +150,7 @@ The following `admin-settings.json` code and table provides an example of the re
|`scout`|| Setting `useBackgroundIndexing` to `false` disables automatic indexing of images loaded to the image store. Setting `sbomIndexing` to `false` prevents the manual indexing triggered by inspecting an image in Docker Desktop.<br><br>**Note**: Users can still use the `docker scout` CLI commands to index images, even if indexing is disabled in Settings Management. |
| `allowExperimentalFeatures`| | If `value` is set to `false`, experimental features are disabled.|
| `allowBetaFeatures`| | If `value` is set to `false`, beta features are disabled.|
| `blockDockerLoad` | | If `value` is set to `true`, users are no longer able to run [`docker load`](../../../engine/reference/commandline/load.md) and receive an error if they try to.|
| `blockDockerLoad` | | If `value` is set to `true`, users are no longer able to run [`docker load`](../../../engine/reference/commandline/image_load.md) and receive an error if they try to.|
### Step three: Re-launch Docker Desktop
>**Note**

View File

@ -162,5 +162,5 @@ container to random ports on the host.
$ docker run -d -P --name webserver nginx
```
See the [run command](../engine/reference/commandline/run.md) for more details on
publish options used with `docker run`.
See the [run command](../engine/reference/commandline/container_run.md) for more details on
publish options used with `docker run`.

View File

@ -35,7 +35,7 @@ This page contains release notes for older versions of Docker Desktop for Mac.
- Re-enable raw as the default disk format for users running macOS 10.13.4 and higher. Note this change only takes effect after a "reset to factory defaults" or "remove all data" (from the Whale menu -> Preferences -> Reset). Related to [docker/for-mac#2625](https://github.com/docker/for-mac/issues/2625)
* Bug fixes and minor changes
- AUFS storage driver is deprecated in Docker Desktop and AUFS support will be removed in the next major release. You can continue with AUFS in Docker Desktop 18.06.x, but you will need to reset disk image (in Preferences > Reset menu) before updating to the next major update. You can check documentation to [save images](/engine/reference/commandline/save/#examples) and [back up volumes](../../storage/volumes.md#back-up-restore-or-migrate-data-volumes)
- AUFS storage driver is deprecated in Docker Desktop and AUFS support will be removed in the next major release. You can continue with AUFS in Docker Desktop 18.06.x, but you will need to reset disk image (in Preferences > Reset menu) before updating to the next major update. You can check documentation to [save images](/engine/reference/commandline/image_save/#examples) and [back up volumes](../../storage/volumes.md#back-up-restore-or-migrate-data-volumes)
- OS X El Captain 10.11 is deprecated in Docker Desktop. You will not be able to install updates after Docker Desktop 18.06.x. We recommend upgrading to the latest version of macOS.
- Fix bug which would cause VM logs to be written to RAM rather than disk in some cases, and the VM to hang. See [docker/for-mac#2984](https://github.com/docker/for-mac/issues/2984)
- Fix network connection leak triggered by haproxy TCP health-checks [docker/for-mac#1132](https://github.com/docker/for-mac/issues/1132)
@ -562,4 +562,4 @@ events or unexpected unmounts.
* Docker 1.12.0
* Docker Machine 0.8.0
* Docker Compose 1.8.0
* Docker Compose 1.8.0

View File

@ -49,7 +49,7 @@ This page contains release notes for older versions of Docker Desktop for Window
- Kubernetes Support. You can now run a single-node Kubernetes cluster from the "Kubernetes" Pane in Docker for Windows settings and use kubectl commands as well as Docker commands. See [the Kubernetes section](../kubernetes.md)
* Bug fixes and minor changes
- AUFS storage driver is deprecated in Docker Desktop and AUFS support will be removed in the next major release. You can continue with AUFS in Docker Desktop 18.06.x, but you will need to reset the disk image (in Settings > Reset menu) before updating to the next major update. You can check documentation to [save images](/engine/reference/commandline/save/#examples) and [backup volumes](../../storage/volumes.md#back-up-restore-or-migrate-data-volumes)
- AUFS storage driver is deprecated in Docker Desktop and AUFS support will be removed in the next major release. You can continue with AUFS in Docker Desktop 18.06.x, but you will need to reset the disk image (in Settings > Reset menu) before updating to the next major update. You can check documentation to [save images](/engine/reference/commandline/image_save/#examples) and [backup volumes](../../storage/volumes.md#back-up-restore-or-migrate-data-volumes)
- Fix bug which would in some cases cause virtual machine logs to be written to RAM rather than disk, and the virtual machine to hang.
- Fix security issue with named pipe connection to docker service.
- Fix VPNKit memory leak. Fixes [docker/for-win#2087](https://github.com/docker/for-win/issues/2087), [moby/vpnkit#371](https://github.com/moby/vpnkit/issues/371)
@ -527,4 +527,4 @@ We did not distribute a 1.12.4 stable release
* Docker 1.12.0
* Docker Machine 0.8.0
* Docker Compose 1.8.0
* Docker Compose 1.8.0

View File

@ -732,7 +732,7 @@ This release contains a Kubernetes upgrade. Note that your local Kubernetes clus
- Add an experimental SOCKS server to allow access to container networks, see [docker/for-mac#2670](https://github.com/docker/for-mac/issues/2670#issuecomment-372365274). Also see [docker/for-mac#2721](https://github.com/docker/for-mac/issues/2721)
* Bug fixes and minor changes
- AUFS storage driver is deprecated in Docker Desktop and AUFS support will be removed in the next major release. You can continue with AUFS in Docker Desktop 18.06.x, but you will need to reset disk image (in Preferences > Reset menu) before updating to the next major update. You can check documentation to [save images](/engine/reference/commandline/save/#examples) and [back up volumes](../../storage/volumes.md#back-up-restore-or-migrate-data-volumes)
- AUFS storage driver is deprecated in Docker Desktop and AUFS support will be removed in the next major release. You can continue with AUFS in Docker Desktop 18.06.x, but you will need to reset disk image (in Preferences > Reset menu) before updating to the next major update. You can check documentation to [save images](/engine/reference/commandline/image_save/#examples) and [back up volumes](../../storage/volumes.md#back-up-restore-or-migrate-data-volumes)
- Fix startup issue with AUFS [docker/for-mac#2804](https://github.com/docker/for-mac/issues/2804)
- Fix status bug which could prevent the Kubernetes cluster from starting. Fixes [docker/for-mac#2990](https://github.com/docker/for-mac/issues/2990)
- Fix bug which would cause virtual machine logs to be written to RAM rather than disk in some cases, and the virtual machine to hang. See [docker/for-mac#2984](https://github.com/docker/for-mac/issues/2984)
@ -2441,4 +2441,4 @@ work yet.
- Fixed setting hostname
- Fixed permissions on `usr/local` symbolic links
- Fixed permissions on `usr/local` symbolic links

View File

@ -953,7 +953,7 @@ This release contains a Kubernetes upgrade. Note that your local Kubernetes clus
- New Kubernetes menu item allowing to switch Kubernetes context & connect to clusters other than the local one.
* Bug fixes and minor changes
- AUFS storage driver is deprecated in Docker Desktop and AUFS support will be removed in the next major release. You can continue with AUFS in Docker Desktop 18.06.x, but you will need to reset disk image (in Settings > Reset menu) before updating to the next major update. You can check documentation to [save images](/engine/reference/commandline/save/#examples) and [back up volumes](../../storage/volumes.md#back-up-restore-or-migrate-data-volumes)
- AUFS storage driver is deprecated in Docker Desktop and AUFS support will be removed in the next major release. You can continue with AUFS in Docker Desktop 18.06.x, but you will need to reset disk image (in Settings > Reset menu) before updating to the next major update. You can check documentation to [save images](/engine/reference/commandline/image_save/#examples) and [back up volumes](../../storage/volumes.md#back-up-restore-or-migrate-data-volumes)
- Fix startup issue with AUFS
- Fix status bug which could prevent the kubernetes cluster from starting.
- Fix bug which would cause VM logs to be written to RAM rather than disk in some cases, and the VM to hang.
@ -2602,4 +2602,4 @@ are working on a solution.
**Networking**
- live debugging Node.js application
- live debugging Node.js application

View File

@ -1897,7 +1897,7 @@ CVE-2021-44228](https://www.docker.com/blog/apache-log4j-2-cve-2021-44228/).
Docker Dashboard incorrectly displays the container memory usage as zero on
Hyper-V based machines.
You can use the [`docker stats`](../engine/reference/commandline/stats.md)
You can use the [`docker stats`](../engine/reference/commandline/container_stats.md)
command on the command line as a workaround to view the
actual memory usage. See
[docker/for-mac#6076](https://github.com/docker/for-mac/issues/6076).

View File

@ -330,7 +330,7 @@ as part of your build. `ADD` is better than manually adding files using
something like `wget` and `tar`, because it ensures a more precise build cache.
`ADD` also has built-in support for checksum validation of the remote
resources, and a protocol for parsing branches, tags, and subdirectories from
[Git URLs](../../engine/reference/commandline/build.md#git-repositories).
[Git URLs](../../engine/reference/commandline/image_build.md#git-repositories).
The following example uses `ADD` to download a .NET installer. Combined with
multi-stage builds, only the .NET runtime remains in the final stage, no

View File

@ -115,11 +115,11 @@ $ docker build --build-arg CUSTOM=$VAR -f $DOCKERFILE_PATH -t $IMAGE_NAME .
> **Important**
>
> A `hooks/build` file overrides the basic [docker build](../../engine/reference/commandline/build.md) command used by the builder, so you must include a similar build command in the hook or
> A `hooks/build` file overrides the basic [docker build](../../engine/reference/commandline/image_build.md) command used by the builder, so you must include a similar build command in the hook or
the automated build fails.
{ .important }
Refer to the [docker build documentation](../../engine/reference/commandline/build.md#build-arg)
Refer to the [docker build documentation](../../engine/reference/commandline/image_build.md#build-arg)
to learn more about Docker build-time variables.
#### Push to multiple repositories
@ -157,4 +157,4 @@ you do one of the following:
```console
$ git fetch --unshallow origin
```
```

View File

@ -1,16 +0,0 @@
---
datafolder: engine-cli
datafile: docker_attach
title: docker attach
aliases:
- /edge/engine/reference/commandline/attach/
layout: cli
---
<!--
This page is automatically generated from Docker's source code. If you want to
suggest a change to the text that appears here, open a ticket or pull request
in the source repository on GitHub:
https://github.com/docker/cli
-->

View File

@ -1,16 +0,0 @@
---
datafolder: engine-cli
datafile: docker_build
title: docker build
aliases:
- /edge/engine/reference/commandline/build/
layout: cli
---
<!--
This page is automatically generated from Docker's source code. If you want to
suggest a change to the text that appears here, open a ticket or pull request
in the source repository on GitHub:
https://github.com/docker/cli
-->

View File

@ -1,14 +0,0 @@
---
datafolder: engine-cli
datafile: docker_builder_build
title: docker builder build
layout: cli
---
<!--
This page is automatically generated from Docker's source code. If you want to
suggest a change to the text that appears here, open a ticket or pull request
in the source repository on GitHub:
https://github.com/docker/cli
-->

View File

@ -1,16 +0,0 @@
---
datafolder: engine-cli
datafile: docker_commit
title: docker commit
aliases:
- /edge/engine/reference/commandline/commit/
layout: cli
---
<!--
This page is automatically generated from Docker's source code. If you want to
suggest a change to the text that appears here, open a ticket or pull request
in the source repository on GitHub:
https://github.com/docker/cli
-->

View File

@ -4,6 +4,7 @@ datafile: docker_container_attach
title: docker container attach
aliases:
- /edge/engine/reference/commandline/container_attach/
- /engine/reference/commandline/attach/
layout: cli
---
@ -13,4 +14,4 @@ suggest a change to the text that appears here, open a ticket or pull request
in the source repository on GitHub:
https://github.com/docker/cli
-->
-->

View File

@ -4,6 +4,7 @@ datafile: docker_container_commit
title: docker container commit
aliases:
- /edge/engine/reference/commandline/container_commit/
- /engine/reference/commandline/commit/
layout: cli
---
@ -13,4 +14,4 @@ suggest a change to the text that appears here, open a ticket or pull request
in the source repository on GitHub:
https://github.com/docker/cli
-->
-->

View File

@ -4,6 +4,7 @@ datafile: docker_container_cp
title: docker container cp
aliases:
- /edge/engine/reference/commandline/container_cp/
- /engine/reference/commandline/cp/
layout: cli
---
@ -13,4 +14,4 @@ suggest a change to the text that appears here, open a ticket or pull request
in the source repository on GitHub:
https://github.com/docker/cli
-->
-->

View File

@ -4,6 +4,7 @@ datafile: docker_container_create
title: docker container create
aliases:
- /edge/engine/reference/commandline/container_create/
- /engine/reference/commandline/create/
layout: cli
---
@ -13,4 +14,4 @@ suggest a change to the text that appears here, open a ticket or pull request
in the source repository on GitHub:
https://github.com/docker/cli
-->
-->

View File

@ -4,6 +4,7 @@ datafile: docker_container_diff
title: docker container diff
aliases:
- /edge/engine/reference/commandline/container_diff/
- /engine/reference/commandline/diff/
layout: cli
---
@ -13,4 +14,4 @@ suggest a change to the text that appears here, open a ticket or pull request
in the source repository on GitHub:
https://github.com/docker/cli
-->
-->

View File

@ -1,9 +1,11 @@
---
datafolder: engine-cli
datafile: docker_container_exec
linkTitle: docker exec
title: docker container exec
aliases:
- /edge/engine/reference/commandline/container_exec/
- /engine/reference/commandline/exec/
layout: cli
---
@ -13,4 +15,4 @@ suggest a change to the text that appears here, open a ticket or pull request
in the source repository on GitHub:
https://github.com/docker/cli
-->
-->

View File

@ -4,6 +4,7 @@ datafile: docker_container_export
title: docker container export
aliases:
- /edge/engine/reference/commandline/container_export/
- /engine/reference/commandline/export/
layout: cli
---
@ -13,4 +14,4 @@ suggest a change to the text that appears here, open a ticket or pull request
in the source repository on GitHub:
https://github.com/docker/cli
-->
-->

View File

@ -4,6 +4,7 @@ datafile: docker_container_kill
title: docker container kill
aliases:
- /edge/engine/reference/commandline/container_kill/
- /engine/reference/commandline/kill/
layout: cli
---
@ -13,4 +14,4 @@ suggest a change to the text that appears here, open a ticket or pull request
in the source repository on GitHub:
https://github.com/docker/cli
-->
-->

View File

@ -4,6 +4,7 @@ datafile: docker_container_logs
title: docker container logs
aliases:
- /edge/engine/reference/commandline/container_logs/
- /engine/reference/commandline/logs/
layout: cli
---
@ -13,4 +14,4 @@ suggest a change to the text that appears here, open a ticket or pull request
in the source repository on GitHub:
https://github.com/docker/cli
-->
-->

View File

@ -1,9 +1,11 @@
---
datafolder: engine-cli
datafile: docker_container_ls
linkTitle: docker ps
title: docker container ls
aliases:
- /edge/engine/reference/commandline/container_ls/
- /engine/reference/commandline/ps/
layout: cli
---
@ -13,4 +15,4 @@ suggest a change to the text that appears here, open a ticket or pull request
in the source repository on GitHub:
https://github.com/docker/cli
-->
-->

View File

@ -4,6 +4,7 @@ datafile: docker_container_pause
title: docker container pause
aliases:
- /edge/engine/reference/commandline/container_pause/
- /engine/reference/commandline/pause/
layout: cli
---
@ -13,4 +14,4 @@ suggest a change to the text that appears here, open a ticket or pull request
in the source repository on GitHub:
https://github.com/docker/cli
-->
-->

View File

@ -4,6 +4,7 @@ datafile: docker_container_port
title: docker container port
aliases:
- /edge/engine/reference/commandline/container_port/
- /engine/reference/commandline/port/
layout: cli
---
@ -13,4 +14,4 @@ suggest a change to the text that appears here, open a ticket or pull request
in the source repository on GitHub:
https://github.com/docker/cli
-->
-->

View File

@ -4,6 +4,7 @@ datafile: docker_container_rename
title: docker container rename
aliases:
- /edge/engine/reference/commandline/container_rename/
- /engine/reference/commandline/rename/
layout: cli
---
@ -13,4 +14,4 @@ suggest a change to the text that appears here, open a ticket or pull request
in the source repository on GitHub:
https://github.com/docker/cli
-->
-->

View File

@ -4,6 +4,7 @@ datafile: docker_container_restart
title: docker container restart
aliases:
- /edge/engine/reference/commandline/container_restart/
- /engine/reference/commandline/restart/
layout: cli
---
@ -13,4 +14,4 @@ suggest a change to the text that appears here, open a ticket or pull request
in the source repository on GitHub:
https://github.com/docker/cli
-->
-->

View File

@ -4,6 +4,7 @@ datafile: docker_container_rm
title: docker container rm
aliases:
- /edge/engine/reference/commandline/container_rm/
- /engine/reference/commandline/rm/
layout: cli
---
@ -13,4 +14,4 @@ suggest a change to the text that appears here, open a ticket or pull request
in the source repository on GitHub:
https://github.com/docker/cli
-->
-->

View File

@ -1,9 +1,11 @@
---
datafolder: engine-cli
datafile: docker_container_run
linkTitle: docker run
title: docker container run
aliases:
- /edge/engine/reference/commandline/container_rm/
- /engine/reference/commandline/run/
layout: cli
---
@ -13,4 +15,4 @@ suggest a change to the text that appears here, open a ticket or pull request
in the source repository on GitHub:
https://github.com/docker/cli
-->
-->

View File

@ -4,6 +4,7 @@ datafile: docker_container_start
title: docker container start
aliases:
- /edge/engine/reference/commandline/container_start/
- /engine/reference/commandline/start/
layout: cli
---
@ -13,4 +14,4 @@ suggest a change to the text that appears here, open a ticket or pull request
in the source repository on GitHub:
https://github.com/docker/cli
-->
-->

View File

@ -4,6 +4,7 @@ datafile: docker_container_stats
title: docker container stats
aliases:
- /edge/engine/reference/commandline/container_stats/
- /engine/reference/commandline/stats/
layout: cli
---
@ -13,4 +14,4 @@ suggest a change to the text that appears here, open a ticket or pull request
in the source repository on GitHub:
https://github.com/docker/cli
-->
-->

View File

@ -4,6 +4,7 @@ datafile: docker_container_stop
title: docker container stop
aliases:
- /edge/engine/reference/commandline/container_stop/
- /engine/reference/commandline/stop/
layout: cli
---
@ -13,4 +14,4 @@ suggest a change to the text that appears here, open a ticket or pull request
in the source repository on GitHub:
https://github.com/docker/cli
-->
-->

View File

@ -4,6 +4,7 @@ datafile: docker_container_top
title: docker container top
aliases:
- /edge/engine/reference/commandline/container_top/
- /engine/reference/commandline/top/
layout: cli
---
@ -13,4 +14,4 @@ suggest a change to the text that appears here, open a ticket or pull request
in the source repository on GitHub:
https://github.com/docker/cli
-->
-->

View File

@ -4,6 +4,7 @@ datafile: docker_container_unpause
title: docker container unpause
aliases:
- /edge/engine/reference/commandline/container_unpause/
- /engine/reference/commandline/unpause/
layout: cli
---
@ -13,4 +14,4 @@ suggest a change to the text that appears here, open a ticket or pull request
in the source repository on GitHub:
https://github.com/docker/cli
-->
-->

View File

@ -4,6 +4,7 @@ datafile: docker_container_update
title: docker container update
aliases:
- /edge/engine/reference/commandline/container_update/
- /engine/reference/commandline/update/
layout: cli
---
@ -13,4 +14,4 @@ suggest a change to the text that appears here, open a ticket or pull request
in the source repository on GitHub:
https://github.com/docker/cli
-->
-->

View File

@ -4,6 +4,7 @@ datafile: docker_container_wait
title: docker container wait
aliases:
- /edge/engine/reference/commandline/container_wait/
- /engine/reference/commandline/wait/
layout: cli
---
@ -13,4 +14,4 @@ suggest a change to the text that appears here, open a ticket or pull request
in the source repository on GitHub:
https://github.com/docker/cli
-->
-->

View File

@ -1,16 +0,0 @@
---
datafolder: engine-cli
datafile: docker_cp
title: docker cp
aliases:
- /edge/engine/reference/commandline/cp/
layout: cli
---
<!--
This page is automatically generated from Docker's source code. If you want to
suggest a change to the text that appears here, open a ticket or pull request
in the source repository on GitHub:
https://github.com/docker/cli
-->

View File

@ -1,16 +0,0 @@
---
datafolder: engine-cli
datafile: docker_create
title: docker create
aliases:
- /edge/engine/reference/commandline/create/
layout: cli
---
<!--
This page is automatically generated from Docker's source code. If you want to
suggest a change to the text that appears here, open a ticket or pull request
in the source repository on GitHub:
https://github.com/docker/cli
-->

View File

@ -1,16 +0,0 @@
---
datafolder: engine-cli
datafile: docker_diff
title: docker diff
aliases:
- /edge/engine/reference/commandline/diff/
layout: cli
---
<!--
This page is automatically generated from Docker's source code. If you want to
suggest a change to the text that appears here, open a ticket or pull request
in the source repository on GitHub:
https://github.com/docker/cli
-->

View File

@ -1,16 +0,0 @@
---
datafolder: engine-cli
datafile: docker_events
title: docker events
aliases:
- /edge/engine/reference/commandline/events/
layout: cli
---
<!--
This page is automatically generated from Docker's source code. If you want to
suggest a change to the text that appears here, open a ticket or pull request
in the source repository on GitHub:
https://github.com/docker/cli
-->

View File

@ -1,16 +0,0 @@
---
datafolder: engine-cli
datafile: docker_exec
title: docker exec
aliases:
- /edge/engine/reference/commandline/exec/
layout: cli
---
<!--
This page is automatically generated from Docker's source code. If you want to
suggest a change to the text that appears here, open a ticket or pull request
in the source repository on GitHub:
https://github.com/docker/cli
-->

View File

@ -1,16 +0,0 @@
---
datafolder: engine-cli
datafile: docker_export
title: docker export
aliases:
- /edge/engine/reference/commandline/export/
layout: cli
---
<!--
This page is automatically generated from Docker's source code. If you want to
suggest a change to the text that appears here, open a ticket or pull request
in the source repository on GitHub:
https://github.com/docker/cli
-->

View File

@ -1,16 +0,0 @@
---
datafolder: engine-cli
datafile: docker_history
title: docker history
aliases:
- /edge/engine/reference/commandline/history/
layout: cli
---
<!--
This page is automatically generated from Docker's source code. If you want to
suggest a change to the text that appears here, open a ticket or pull request
in the source repository on GitHub:
https://github.com/docker/cli
-->

View File

@ -1,9 +1,12 @@
---
datafolder: engine-cli
datafile: docker_image_build
linkTitle: docker build
title: docker image build
aliases:
- /edge/engine/reference/commandline/image_build/
- /engine/reference/commandline/build/
- /engine/reference/commandline/builder_build/
layout: cli
---
@ -13,4 +16,4 @@ suggest a change to the text that appears here, open a ticket or pull request
in the source repository on GitHub:
https://github.com/docker/cli
-->
-->

View File

@ -4,6 +4,7 @@ datafile: docker_image_history
title: docker image history
aliases:
- /edge/engine/reference/commandline/image_history/
- /engine/reference/commandline/history/
layout: cli
---
@ -13,4 +14,4 @@ suggest a change to the text that appears here, open a ticket or pull request
in the source repository on GitHub:
https://github.com/docker/cli
-->
-->

Some files were not shown because too many files have changed in this diff Show More