mirror of
https://github.com/docker/docs.git
synced 2026-11-04 18:26:54 +00:00
engine: 28.0.0 (#22007)
- follow up to: https://github.com/docker/docs/pull/21932 ## Description <!-- Tell us what you did and why --> ## Related issues or tickets <!-- Related issues, pull requests, or Jira tickets --> ## Reviews <!-- Notes for reviewers here --> <!-- List applicable reviews (optionally @tag reviewers) --> - [ ] Technical review - [ ] Editorial review - [ ] Product review --------- Signed-off-by: Paweł Gronowski <pawel.gronowski@docker.com>
This commit is contained in:
1 parent
dfa9e342db
commit
df46163d36
44 files changed
+14191
-707
No files matched your search
+58
-5
@@ -53,8 +53,10 @@ The following table provides an overview of the current status of deprecated fea
|
||||
|
||||
| Status | Feature | Deprecated | Remove |
|
||||
|------------|------------------------------------------------------------------------------------------------------------------------------------|------------|--------|
|
||||
| Deprecated | [Configuration for pushing non-distributable artifacts](#configuration-for-pushing-non-distributable-artifacts) | v28.0 | v29.0 |
|
||||
| Deprecated | [`--time` option on `docker stop` and `docker restart`](#--time-option-on-docker-stop-and-docker-restart) | v28.0 | - |
|
||||
| Deprecated | [Non-standard fields in image inspect](#non-standard-fields-in-image-inspect) | v27.0 | v28.0 |
|
||||
| Deprecated | [API CORS headers](#api-cors-headers) | v27.0 | v28.0 |
|
||||
| Removed | [API CORS headers](#api-cors-headers) | v27.0 | v28.0 |
|
||||
| Deprecated | [Graphdriver plugins (experimental)](#graphdriver-plugins-experimental) | v27.0 | v28.0 |
|
||||
| Deprecated | [Unauthenticated TCP connections](#unauthenticated-tcp-connections) | v26.0 | v28.0 |
|
||||
| Deprecated | [`Container` and `ContainerConfig` fields in Image inspect](#container-and-containerconfig-fields-in-image-inspect) | v25.0 | v26.0 |
|
||||
@@ -78,7 +80,7 @@ The following table provides an overview of the current status of deprecated fea
|
||||
| Deprecated | [CLI plugins support](#cli-plugins-support) | v20.10 | - |
|
||||
| Deprecated | [Dockerfile legacy `ENV name value` syntax](#dockerfile-legacy-env-name-value-syntax) | v20.10 | - |
|
||||
| Removed | [`docker build --stream` flag (experimental)](#docker-build---stream-flag-experimental) | v20.10 | v20.10 |
|
||||
| Deprecated | [`fluentd-async-connect` log opt](#fluentd-async-connect-log-opt) | v20.10 | - |
|
||||
| Deprecated | [`fluentd-async-connect` log opt](#fluentd-async-connect-log-opt) | v20.10 | v28.0 |
|
||||
| Removed | [Configuration options for experimental CLI features](#configuration-options-for-experimental-cli-features) | v19.03 | v23.0 |
|
||||
| Deprecated | [Pushing and pulling with image manifest v2 schema 1](#pushing-and-pulling-with-image-manifest-v2-schema-1) | v19.03 | v27.0 |
|
||||
| Removed | [`docker engine` subcommands](#docker-engine-subcommands) | v19.03 | v20.10 |
|
||||
@@ -118,6 +120,55 @@ The following table provides an overview of the current status of deprecated fea
|
||||
| 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 |
|
||||
|
||||
## Configuration for pushing non-distributable artifacts
|
||||
|
||||
**Deprecated in Release: v28.0**
|
||||
**Target For Removal In Release: v29.0**
|
||||
|
||||
Non-distributable artifacts (also called foreign layers) were introduced in
|
||||
docker v1.12 to accommodate Windows images for which the EULA did not allow
|
||||
layers to be distributed through registries other than those hosted by Microsoft.
|
||||
The concept of foreign / non-distributable layers was adopted by the OCI distribution
|
||||
spec in [oci#233]. These restrictions were relaxed later to allow distributing
|
||||
these images through non-public registries, for which a configuration was added
|
||||
in Docker v17.0.6.0.
|
||||
|
||||
In 2022, Microsoft updated the EULA and [removed these restrictions][msft-3645201],
|
||||
followed by the OCI distribution specification deprecating foreign layers in [oci#965].
|
||||
In 2023, Microsoft [removed the use of foreign data layers][msft-3846833] for their images,
|
||||
making this functionality obsolete.
|
||||
|
||||
Docker v28.0 deprecates the `--allow-nondistributable-artifacts` daemon flag and
|
||||
corresponding `allow-nondistributable-artifacts` field in `daemon.json`. Setting
|
||||
either option no longer takes an effect, but a deprecation warning log is added
|
||||
to raise awareness about the deprecation. This warning is planned to become an
|
||||
error in the Docker v29.0.
|
||||
|
||||
Users currently using these options are therefore recommended to remove this
|
||||
option from their configuration to prevent the daemon from starting when
|
||||
upgrading to Docker v29.0.
|
||||
|
||||
The `AllowNondistributableArtifactsCIDRs` and `AllowNondistributableArtifactsHostnames`
|
||||
fields in the `RegistryConfig` of the `GET /info` API response are also deprecated.
|
||||
For API version v1.48 and lower, the fields are still included in the response
|
||||
but always `null`. In API version v1.49 and higher, the field will be omitted
|
||||
entirely.
|
||||
|
||||
[oci#233]: https://github.com/opencontainers/image-spec/pull/233
|
||||
[oci#965]: https://github.com/opencontainers/image-spec/pull/965
|
||||
[msft-3645201]: https://techcommunity.microsoft.com/blog/containers/announcing-windows-container-base-image-redistribution-rights-change/3645201
|
||||
[msft-3846833]: https://techcommunity.microsoft.com/blog/containers/announcing-removal-of-foreign-layers-from-windows-container-images/3846833
|
||||
|
||||
### `--time` option on `docker stop` and `docker restart`
|
||||
|
||||
**Deprecated in Release: v28.0**
|
||||
|
||||
The `--time` option for the `docker stop`, `docker container stop`, `docker restart`,
|
||||
and `docker container restart` commands has been renamed to `--timeout` for
|
||||
consistency with other uses of timeout options. The `--time` option is now
|
||||
deprecated and hidden, but remains functional for backward compatibility.
|
||||
Users are encouraged to migrate to using the `--timeout` option instead.
|
||||
|
||||
### Non-standard fields in image inspect
|
||||
|
||||
**Deprecated in Release: v27.0**
|
||||
@@ -177,18 +228,19 @@ and a custom [snapshotter](https://github.com/containerd/containerd/tree/v1.7.18
|
||||
### API CORS headers
|
||||
|
||||
**Deprecated in Release: v27.0**
|
||||
**Target For Removal In Release: v28.0**
|
||||
**Disabled by default in Release: v27.0**
|
||||
**Removed in release: v28.0**
|
||||
|
||||
The `api-cors-header` configuration option for the Docker daemon is insecure,
|
||||
and is therefore deprecated and scheduled for removal.
|
||||
Incorrectly setting this option could leave a window of opportunity
|
||||
for unauthenticated cross-origin requests to be accepted by the daemon.
|
||||
|
||||
Starting in Docker Engine v27.0, this flag can still be set,
|
||||
In Docker Engine v27.0, this flag can still be set,
|
||||
but it has no effect unless the environment variable
|
||||
`DOCKERD_DEPRECATED_CORS_HEADER` is also set to a non-empty value.
|
||||
|
||||
This flag will be removed altogether in v28.0.
|
||||
This flag has been removed altogether in v28.0.
|
||||
|
||||
This is a breaking change for authorization plugins and other programs
|
||||
that depend on this option for accessing the Docker API from a browser.
|
||||
@@ -666,6 +718,7 @@ files.
|
||||
### `fluentd-async-connect` log opt
|
||||
|
||||
**Deprecated in Release: v20.10**
|
||||
**Removed in Release: v28.0**
|
||||
|
||||
The `--log-opt fluentd-async-connect` option for the fluentd logging driver is
|
||||
[deprecated in favor of `--log-opt fluentd-async`](https://github.com/moby/moby/pull/39086).
|
||||
|
||||
+24
-42
@@ -24,10 +24,9 @@ A self-sufficient runtime for containers.
|
||||
|
||||
Options:
|
||||
--add-runtime runtime Register an additional OCI compatible runtime (default [])
|
||||
--allow-nondistributable-artifacts list Allow push of nondistributable artifacts to registry
|
||||
--api-cors-header string Set CORS headers in the Engine API
|
||||
--authorization-plugin list Authorization plugins to load
|
||||
--bip string Specify network bridge IP
|
||||
--bip string Specify default-bridge IPv4 network
|
||||
--bip6 string Specify default-bridge IPv6 network
|
||||
-b, --bridge string Attach containers to a network bridge
|
||||
--cdi-spec-dir list CDI specification directories to use
|
||||
--cgroup-parent string Set parent cgroup for all containers
|
||||
@@ -63,8 +62,8 @@ Options:
|
||||
-G, --group string Group for the unix socket (default "docker")
|
||||
--help Print usage
|
||||
-H, --host list Daemon socket(s) to connect to
|
||||
--host-gateway-ip ip IP address that the special 'host-gateway' string in --add-host resolves to.
|
||||
Defaults to the IP address of the default bridge
|
||||
--host-gateway-ip list IP addresses that the special 'host-gateway' string in --add-host resolves to.
|
||||
Defaults to the IP addresses of the default bridge
|
||||
--http-proxy string HTTP proxy URL to use for outgoing traffic
|
||||
--https-proxy string HTTPS proxy URL to use for outgoing traffic
|
||||
--icc Enable inter-container communication (default true)
|
||||
@@ -72,7 +71,8 @@ Options:
|
||||
--init-path string Path to the docker-init binary
|
||||
--insecure-registry list Enable insecure registry communication
|
||||
--ip ip Default IP when binding container ports (default 0.0.0.0)
|
||||
--ip-forward Enable net.ipv4.ip_forward (default true)
|
||||
--ip-forward Enable IP forwarding in system configuration (default true)
|
||||
--ip-forward-no-drop Do not set the filter-FORWARD policy to DROP when enabling IP forwarding
|
||||
--ip-masq Enable IP masquerading (default true)
|
||||
--ip6tables Enable addition of ip6tables rules (experimental)
|
||||
--iptables Enable addition of iptables rules (default true)
|
||||
@@ -687,34 +687,6 @@ To set the DNS search domain for all Docker containers, use:
|
||||
$ sudo dockerd --dns-search example.com
|
||||
```
|
||||
|
||||
### Allow push of non-distributable artifacts
|
||||
|
||||
Some images (e.g., Windows base images) contain artifacts whose distribution is
|
||||
restricted by license. When these images are pushed to a registry, restricted
|
||||
artifacts are not included.
|
||||
|
||||
To override this behavior for specific registries, use the
|
||||
`--allow-nondistributable-artifacts` option in one of the following forms:
|
||||
|
||||
* `--allow-nondistributable-artifacts myregistry:5000` tells the Docker daemon
|
||||
to push non-distributable artifacts to myregistry:5000.
|
||||
* `--allow-nondistributable-artifacts 10.1.0.0/16` tells the Docker daemon to
|
||||
push non-distributable artifacts to all registries whose resolved IP address
|
||||
is within the subnet described by the CIDR syntax.
|
||||
|
||||
This option can be used multiple times.
|
||||
|
||||
This option is useful when pushing images containing non-distributable artifacts
|
||||
to a registry on an air-gapped network so hosts on that network can pull the
|
||||
images without connecting to another server.
|
||||
|
||||
> [!WARNING]
|
||||
> Non-distributable artifacts typically have restrictions on how
|
||||
> and where they can be distributed and shared. Only use this feature to push
|
||||
> artifacts to private registries and ensure that you are in compliance with
|
||||
> any terms that cover redistributing non-distributable artifacts.
|
||||
{ .warning }
|
||||
|
||||
### Insecure registries
|
||||
|
||||
In this section, "registry" refers to a private registry, and `myregistry:5000`
|
||||
@@ -837,21 +809,34 @@ For details about how to use this feature, as well as limitations, see
|
||||
|
||||
The Docker daemon supports a special `host-gateway` value for the `--add-host`
|
||||
flag for the `docker run` and `docker build` commands. This value resolves to
|
||||
the host's gateway IP and lets containers connect to services running on the
|
||||
addresses on the host, so that containers can connect to services running on the
|
||||
host.
|
||||
|
||||
By default, `host-gateway` resolves to the IP address of the default bridge.
|
||||
By default, `host-gateway` resolves to the IPv4 address of the default bridge,
|
||||
and its IPv6 address if it has one.
|
||||
|
||||
You can configure this to resolve to a different IP using the `--host-gateway-ip`
|
||||
flag for the dockerd command line interface, or the `host-gateway-ip` key in
|
||||
the daemon configuration file.
|
||||
|
||||
To supply both IPv4 and IPv6 addresses on the command line, use two
|
||||
`--host-gateway-ip` options.
|
||||
|
||||
To supply addresses in the daemon configuration file, use `"host-gateway-ips"`
|
||||
with a JSON array, as shown below. For compatibility with older versions of the
|
||||
daemon, a single IP address can also be specified as a JSON string in option
|
||||
`"host-gateway-ip"`.
|
||||
|
||||
```console
|
||||
$ cat > /etc/docker/daemon.json
|
||||
{ "host-gateway-ip": "192.0.2.0" }
|
||||
{ "host-gateway-ips": ["192.0.2.1", "2001:db8::1111"]}
|
||||
$ sudo systemctl restart docker
|
||||
$ docker run -it --add-host host.docker.internal:host-gateway \
|
||||
busybox ping host.docker.internal
|
||||
PING host.docker.internal (192.0.2.0): 56 data bytes
|
||||
PING host.docker.internal (192.0.2.1): 56 data bytes
|
||||
$ docker run -it --add-host host.docker.internal:host-gateway \
|
||||
busybox ping -6 host.docker.internal
|
||||
PING host.docker.internal (2001:db8::1111): 56 data bytes
|
||||
```
|
||||
|
||||
### Enable CDI devices
|
||||
@@ -1072,10 +1057,9 @@ The following is a full example of the allowed configuration options on Linux:
|
||||
|
||||
```json
|
||||
{
|
||||
"allow-nondistributable-artifacts": [],
|
||||
"api-cors-header": "",
|
||||
"authorization-plugins": [],
|
||||
"bip": "",
|
||||
"bip6": "",
|
||||
"bridge": "",
|
||||
"builder": {
|
||||
"gc": {
|
||||
@@ -1220,7 +1204,6 @@ The following is a full example of the allowed configuration options on Windows:
|
||||
|
||||
```json
|
||||
{
|
||||
"allow-nondistributable-artifacts": [],
|
||||
"authorization-plugins": [],
|
||||
"bridge": "",
|
||||
"containerd": "\\\\.\\pipe\\containerd-containerd",
|
||||
@@ -1324,7 +1307,6 @@ The list of currently supported options that can be reconfigured is this:
|
||||
| `default-runtime` | Configures the runtime to be used if not is specified at container creation. |
|
||||
| `runtimes` | Configures the list of available OCI runtimes that can be used to run containers. |
|
||||
| `authorization-plugin` | Specifies the authorization plugins to use. |
|
||||
| `allow-nondistributable-artifacts` | Specifies a list of registries to which the daemon will push non-distributable artifacts. |
|
||||
| `insecure-registries` | Specifies a list of registries that the daemon should consider insecure. |
|
||||
| `registry-mirrors` | Specifies a list of registry mirrors. |
|
||||
| `shutdown-timeout` | Configures the daemon's existing configuration timeout with a new timeout for shutting down all containers. |
|
||||
|
||||
Reference in new issue
Block a user