engine: vendor v26.0.0

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
This commit is contained in:
Sebastiaan van Stijn 2024-03-20 23:31:12 +01:00
parent 235b144861
commit b62897cbeb
No known key found for this signature in database
GPG Key ID: 76698F39D527CE8C
11 changed files with 12453 additions and 47 deletions

View File

@ -50,8 +50,10 @@ The table below provides an overview of the current status of deprecated feature
| Status | Feature | Deprecated | Remove |
|------------|------------------------------------------------------------------------------------------------------------------------------------|------------|--------|
| Deprecated | [Unauthenticated TCP connections](#unauthenticated-tcp-connections) | v26.0 | v27.0 |
| Deprecated | [`Container` and `ContainerConfig` fields in Image inspect](#container-and-containerconfig-fields-in-image-inspect) | v25.0 | v26.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 |
| Removed | [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 |
@ -72,7 +74,7 @@ The table below provides an overview of the current status of deprecated feature
| 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 | - |
| 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 | v20.10 |
| 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 |
| Removed | [Top-level `docker deploy` subcommand (experimental)](#top-level-docker-deploy-subcommand-experimental) | v19.03 | v20.10 |
| Removed | [`docker stack deploy` using "dab" files (experimental)](#docker-stack-deploy-using-dab-files-experimental) | v19.03 | v20.10 |
@ -110,6 +112,46 @@ 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 |
### Unauthenticated TCP connections
**Deprecated in Release: v26.0**
**Target For Removal In Release: v27.0**
Configuring the Docker daemon to listen on a TCP address will require mandatory
TLS verification. This change aims to ensure secure communication by preventing
unauthorized access to the Docker daemon over potentially insecure networks.
This mandatory TLS requirement applies to all TCP addresses except `tcp://localhost`.
In version 27.0 and later, specifying `--tls=false` or `--tlsverify=false` CLI flags
causes the daemon to fail to start if it's also configured to accept remote connections over TCP.
This also applies to the equivalent configuration options in `daemon.json`.
To facilitate remote access to the Docker daemon over TCP, you'll need to
implement TLS verification. This secures the connection by encrypting data in
transit and providing a mechanism for mutual authentication.
For environments remote daemon access isn't required,
we recommend binding the Docker daemon to a Unix socket.
For daemon's where remote access is required and where TLS encryption is not feasible,
you may want to consider using SSH as an alternative solution.
For further information, assistance, and step-by-step instructions on
configuring TLS (or SSH) for the Docker daemon, refer to
[Protect the Docker daemon socket](https://docs.docker.com/engine/security/protect-access/).
### `Container` and `ContainerConfig` fields in Image inspect
**Deprecated in Release: v25.0**
**Target For Removal In Release: v26.0**
The `Container` and `ContainerConfig` fields returned by `docker inspect` are
mostly an implementation detail of the classic (non-BuildKit) image builder.
These fields are not portable and are empty when using the
BuildKit-based builder (enabled by default since v23.0).
These fields are deprecated in v25.0 and will be omitted starting from v26.0.
If image configuration of an image is needed, you can obtain it from the
`Config` field.
### Deprecate legacy API versions
**Deprecated in Release: v25.0**
@ -167,7 +209,7 @@ 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**
**Removed 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
@ -558,15 +600,35 @@ for the old option will be removed in a future release.
**Deprecated in Release: v19.03**
**Target For Removal In Release: v20.10**
**Disabled by default in Release: v26.0**
The image manifest
[v2 schema 1](https://github.com/docker/distribution/blob/fda42e5ef908bdba722d435ff1f330d40dfcd56c/docs/spec/manifest-v2-1.md)
format is deprecated in favor of the
[v2 schema 2](https://github.com/docker/distribution/blob/fda42e5ef908bdba722d435ff1f330d40dfcd56c/docs/spec/manifest-v2-2.md) format.
**Target For Removal In Release: v27.0**
If the registry you are using still supports v2 schema 1, urge their administrators to move to v2 schema 2.
The image manifest [v2 schema 1](https://distribution.github.io/distribution/spec/deprecated-schema-v1/)
and "Docker Image v1" formats were deprecated in favor of the
[v2 schema 2](https://distribution.github.io/distribution/spec/manifest-v2-2/)
and [OCI image spec](https://github.com/opencontainers/image-spec/tree/v1.1.0)
formats.
These legacy formats should no longer be used, and users are recommended to
update images to use current formats, or to upgrade to more current images.
Starting with Docker v26.0, pulling these images is disabled by default, and
produces an error when attempting to pull the image:
```console
$ docker pull ubuntu:10.04
Error response from daemon:
[DEPRECATION NOTICE] Docker Image Format v1 and Docker Image manifest version 2, schema 1 support is disabled by default and will be removed in an upcoming release.
Suggest the author of docker.io/library/ubuntu:10.04 to upgrade the image to the OCI Format or Docker Image manifest v2, schema 2.
More information at https://docs.docker.com/go/deprecated-image-specs/
```
An environment variable (`DOCKER_ENABLE_DEPRECATED_PULL_SCHEMA_1_IMAGE`) is
added in Docker v26.0 that allows re-enabling support for these image formats
in the daemon. This environment variable must be set to a non-empty value in
the daemon's environment (for example, through a [systemd override file](https://docs.docker.com/config/daemon/systemd/)).
Support for the `DOCKER_ENABLE_DEPRECATED_PULL_SCHEMA_1_IMAGE` environment-variable
will be removed in Docker v27.0 after which this functionality is removed permanently.
### `docker engine` subcommands

View File

@ -1038,7 +1038,7 @@ The following is a full example of the allowed configuration options on Linux:
"cgroup-parent": "",
"containerd": "/run/containerd/containerd.sock",
"containerd-namespace": "docker",
"containerd-plugin-namespace": "docker-plugins",
"containerd-plugins-namespace": "docker-plugins",
"data-root": "",
"debug": true,
"default-address-pools": [
@ -1079,7 +1079,7 @@ The following is a full example of the allowed configuration options on Linux:
"proxies": {
"http-proxy": "http://proxy.example.com:80",
"https-proxy": "https://proxy.example.com:443",
"no-proxy": "*.test.example.com,.example.org",
"no-proxy": "*.test.example.com,.example.org"
},
"icc": false,
"init": false,
@ -1170,7 +1170,7 @@ The following is a full example of the allowed configuration options on Windows:
"bridge": "",
"containerd": "\\\\.\\pipe\\containerd-containerd",
"containerd-namespace": "docker",
"containerd-plugin-namespace": "docker-plugins",
"containerd-plugins-namespace": "docker-plugins",
"data-root": "",
"debug": true,
"default-network-opts": {},
@ -1347,7 +1347,7 @@ using the `daemon.json` file.
"default-network-opts": {
"bridge": {
"com.docker.network.bridge.host_binding_ipv4": "127.0.0.1",
"com.docker.network.bridge.mtu": "1234"
"com.docker.network.driver.mtu": "1234"
}
}
}
@ -1363,7 +1363,7 @@ you create use these option configurations as defaults.
```console
$ docker network create mynet
$ docker network inspect mynet --format "{{json .Options}}"
{"com.docker.network.bridge.host_binding_ipv4":"127.0.0.1","com.docker.network.bridge.mtu":"1234"}
{"com.docker.network.bridge.host_binding_ipv4":"127.0.0.1","com.docker.network.driver.mtu":"1234"}
```
Note that changing this daemon configuration doesn't affect pre-existing
@ -1377,5 +1377,5 @@ daemon configuration. The CLI flag expects a value with the following format:
```console
$ sudo dockerd \
--default-network-opt bridge=com.docker.network.bridge.host_binding_ipv4=127.0.0.1 \
--default-network-opt bridge=com.docker.network.bridge.mtu=1234
--default-network-opt bridge=com.docker.network.driver.mtu=1234
```

View File

@ -7,7 +7,7 @@ title: Running containers
---
Docker runs processes in isolated containers. A container is a process
which runs on a host. The host may be local or remote. When an you
which runs on a host. The host may be local or remote. When you
execute `docker run`, the container process that runs is isolated in
that it has its own file system, its own networking, and its own
isolated process tree separate from the host.
@ -767,7 +767,7 @@ For example, this command creates a container and limits the read rate to
`1000` IO per second from `/dev/sda`:
```console
$ docker run -ti --device-read-iops /dev/sda:1000 ubuntu
$ docker run -it --device-read-iops /dev/sda:1000 ubuntu
```
The `--device-write-iops` flag limits write rate (IO per second) to a device.
@ -775,7 +775,7 @@ For example, this command creates a container and limits the write rate to
`1000` IO per second to `/dev/sda`:
```console
$ docker run -ti --device-write-iops /dev/sda:1000 ubuntu
$ docker run -it --device-write-iops /dev/sda:1000 ubuntu
```
Both flags take limits in the `<device-path>:<limit>` format. Both read and
@ -813,11 +813,12 @@ by default a container is not allowed to access any devices, but a
the documentation on [cgroups devices](https://www.kernel.org/doc/Documentation/cgroup-v1/devices.txt)).
The `--privileged` flag gives all capabilities to the container. When the operator
executes `docker run --privileged`, Docker will enable access to all devices on
the host as well as set some configuration in AppArmor or SELinux to allow the
container nearly all the same access to the host as processes running outside
containers on the host. Additional information about running with `--privileged`
is available on the [Docker Blog](https://www.docker.com/blog/docker-can-now-run-within-docker/).
executes `docker run --privileged`, Docker enables access to all devices on
the host, and reconfigures AppArmor or SELinux to allow the container
nearly all the same access to the host as processes running outside
containers on the host. Use this flag with caution.
For more information about the `--privileged` flag, see the
[`docker run` reference](https://docs.docker.com/reference/cli/docker/container/run/#privileged).
If you want to limit access to a specific device or devices you can use
the `--device` flag. It allows you to specify one or more devices that

File diff suppressed because it is too large Load Diff

View File

@ -13,6 +13,24 @@ keywords: "API, Docker, rcli, REST, documentation"
will be rejected.
-->
## v1.45 API changes
[Docker Engine API v1.45](https://docs.docker.com/engine/api/v1.45/) documentation
* `POST /containers/create` now supports `VolumeOptions.Subpath` which allows a
subpath of a named volume to be mounted.
* `POST /images/search` will always assume a `false` value for the `is-automated`
field. Consequently, searching for `is-automated=true` will yield no results,
while `is-automated=false` will be a no-op.
* `GET /images/{name}/json` no longer includes the `Container` and
`ContainerConfig` fields. To access image configuration, use `Config` field
instead.
* The `Aliases` field returned in calls to `GET /containers/{name:.*}/json` no
longer contains the short container ID, but instead will reflect exactly the
values originally submitted to the `POST /containers/create` endpoint. The
newly introduced `DNSNames` should now be used instead when short container
IDs are needed.
## v1.44 API changes
[Docker Engine API v1.44](https://docs.docker.com/engine/api/v1.44/) documentation

View File

@ -1,6 +1,6 @@
# github.com/moby/moby v25.0.4+incompatible
# github.com/moby/moby v26.0.0+incompatible
# github.com/moby/buildkit v0.13.0
# github.com/docker/buildx v0.13.1
# github.com/docker/scout-cli v1.6.0
# github.com/docker/cli v26.0.0-rc1+incompatible
# github.com/docker/cli v26.0.0+incompatible
# github.com/docker/compose/v2 v2.25.0

View File

@ -73,21 +73,21 @@ To see the highest version of the API your Docker daemon and client support, use
```console
$ docker version
Client: Docker Engine - Community
Version: 25.0.0
API version: 1.44
Go version: go1.21.6
Git commit: e758fe5
Built: Thu Jan 18 17:11:25 2024
Version: 26.0.0
API version: 1.45
Go version: go1.21.8
Git commit: 2ae903e
Built: Wed Mar 20 15:17:48 2024
OS/Arch: linux/amd64
Context: default
Server: Docker Engine - Community
Engine:
Version: 25.0.0
API version: 1.44 (minimum version 1.24)
Go version: go1.21.6
Git commit: 615dfdf
Built: Thu Jan 18 17:09:47 2024
Version: 26.0.0
API version: 1.45 (minimum version 1.24)
Go version: go1.21.8
Git commit: 8b79278
Built: Wed Mar 20 15:17:48 2024
OS/Arch: linux/amd64
Experimental: false
...
@ -99,14 +99,14 @@ You can specify the API version to use in any of the following ways:
that incorporates the API version with the features you need.
- When using `curl` directly, specify the version as the first part of the URL.
For instance, if the endpoint is `/containers/` you can use
`/v1.44/containers/`.
`/v1.45/containers/`.
- To force the Docker CLI or the Docker Engine SDKs to use an older version
of the API than the version reported by `docker version`, set the
environment variable `DOCKER_API_VERSION` to the correct version. This works
on Linux, Windows, or macOS clients.
```console
$ DOCKER_API_VERSION='1.43'
$ DOCKER_API_VERSION='1.44'
```
While the environment variable is set, that version of the API is used, even
@ -127,6 +127,7 @@ You can specify the API version to use in any of the following ways:
| Docker version | Maximum API version | Change log |
|:---------------|:---------------------------|:---------------------------------------------------------|
| 26.0 | [1.45](/engine/api/v1.45/) | [changes](/engine/api/version-history/#v145-api-changes) |
| 25.0 | [1.44](/engine/api/v1.44/) | [changes](/engine/api/version-history/#v144-api-changes) |
| 24.0 | [1.43](/engine/api/v1.43/) | [changes](/engine/api/version-history/#v143-api-changes) |
| 23.0 | [1.42](/engine/api/v1.42/) | [changes](/engine/api/version-history/#v142-api-changes) |

View File

@ -832,6 +832,8 @@ Reference:
section:
- path: /engine/api/version-history/
title: Version history overview
- path: /engine/api/v1.45/
title: v1.45 reference
- path: /engine/api/v1.44/
title: v1.44 reference
- path: /engine/api/v1.43/

10
go.mod
View File

@ -6,18 +6,18 @@ toolchain go1.21.1
require (
github.com/docker/buildx v0.13.1 // indirect
github.com/docker/cli v26.0.0-rc1+incompatible // indirect
github.com/docker/cli v26.0.0+incompatible // indirect
github.com/docker/compose/v2 v2.25.0 // indirect
github.com/docker/scout-cli v1.6.0 // indirect
github.com/moby/buildkit v0.13.0 // indirect
github.com/moby/moby v25.0.4+incompatible // indirect
github.com/moby/moby v26.0.0+incompatible // indirect
)
replace (
github.com/docker/buildx => github.com/docker/buildx v0.13.1
github.com/docker/cli => github.com/docker/cli v25.0.4+incompatible
github.com/docker/compose/v2 => github.com/docker/compose/v2 v2.24.7
github.com/docker/cli => github.com/docker/cli v26.0.0+incompatible
github.com/docker/compose/v2 => github.com/docker/compose/v2 v2.25.0
github.com/docker/scout-cli => github.com/docker/scout-cli v1.6.0
github.com/moby/buildkit => github.com/moby/buildkit v0.13.0-rc3.0.20240308080452-a38011b9f57d
github.com/moby/moby => github.com/moby/moby v25.0.4+incompatible
github.com/moby/moby => github.com/moby/moby v26.0.0+incompatible
)

6
go.sum
View File

@ -92,6 +92,8 @@ github.com/docker/cli v25.0.4-0.20240221083216-f67e569a8fb9+incompatible h1:crlB
github.com/docker/cli v25.0.4-0.20240221083216-f67e569a8fb9+incompatible/go.mod h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8=
github.com/docker/cli v25.0.4+incompatible h1:DatRkJ+nrFoYL2HZUzjM5Z5sAmcA5XGp+AW0oEw2+cA=
github.com/docker/cli v25.0.4+incompatible/go.mod h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8=
github.com/docker/cli v26.0.0+incompatible h1:90BKrx1a1HKYpSnnBFR6AgDq/FqkHxwlUyzJVPxD30I=
github.com/docker/cli v26.0.0+incompatible/go.mod h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8=
github.com/docker/compose-cli v1.0.35 h1:uZyEHLalfqBS2PiTpA1LAULyJmuQ+YtZg7nG4Xl3/Cc=
github.com/docker/compose-cli v1.0.35/go.mod h1:mSXI4hFLpRU3EtI8NTo32bNwI0UXSr8jnq+/rYjGAUU=
github.com/docker/compose/v2 v2.22.0 h1:3rRz4L7tPU75wRsV8JZh2/aTgerQvPa1cpzZN+tHqUY=
@ -118,6 +120,8 @@ github.com/docker/compose/v2 v2.24.6 h1:V5fOXgga0hYy4wHsygCquO6/k++8q3WuckU7Qo1c
github.com/docker/compose/v2 v2.24.6/go.mod h1:ugV3/2KoKEeM98ZYF9vsYwnSExC4xLGxblAqXB6HUXQ=
github.com/docker/compose/v2 v2.24.7 h1:1WSo4CVf18tnGJMC6V78jYsAxSDD61ry6L3JwVT+8EI=
github.com/docker/compose/v2 v2.24.7/go.mod h1:7U3QbXdRJfBylTgkdlrjOg8hWLZqM09mof9DVZ5Fh4E=
github.com/docker/compose/v2 v2.25.0 h1:UMCrWFItKdXXrlbxvA63V3aFb4Nr3zmlSY2GvJIqJW0=
github.com/docker/compose/v2 v2.25.0/go.mod h1:M0PSYeTsp2ZEZJGhvzNTBtJeJRN7ZBGb4Ft1mUteTac=
github.com/docker/distribution v2.8.2+incompatible h1:T3de5rq0dB1j30rp0sA2rER+m322EBzniBPB6ZIzuh8=
github.com/docker/distribution v2.8.2+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w=
github.com/docker/distribution v2.8.3+incompatible h1:AtKxIZ36LoNK51+Z6RpzLpddBirtxJnzDrHLEKxTAYk=
@ -231,6 +235,8 @@ github.com/moby/moby v25.0.3-0.20240203133757-341a7978a541+incompatible h1:0Vgi6
github.com/moby/moby v25.0.3-0.20240203133757-341a7978a541+incompatible/go.mod h1:fDXVQ6+S340veQPv35CzDahGBmHsiclFwfEygB/TWMc=
github.com/moby/moby v25.0.4+incompatible h1:vea1J80wDM5x5geaZSaywFkfFxLABJIQ3mmR4ewZGbU=
github.com/moby/moby v25.0.4+incompatible/go.mod h1:fDXVQ6+S340veQPv35CzDahGBmHsiclFwfEygB/TWMc=
github.com/moby/moby v26.0.0+incompatible h1:2n9/cIWkxiEI1VsWgTGgXhxIWUbv42PyxEP9L+RReC0=
github.com/moby/moby v26.0.0+incompatible/go.mod h1:fDXVQ6+S340veQPv35CzDahGBmHsiclFwfEygB/TWMc=
github.com/moby/sys/symlink v0.1.0/go.mod h1:GGDODQmbFOjFsXvfLVn3+ZRxkch54RkSiGqsZeMYowQ=
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
github.com/morikuni/aec v1.0.0/go.mod h1:BbKIizmSmc5MMPqRYbxO4ZU0S0+P200+tUnFx7PXmsc=

View File

@ -94,8 +94,8 @@ params:
repo: https://github.com/docker/docs
docs_url: https://docs.docker.com
latest_engine_api_version: "1.44"
docker_ce_version: "25.0.4"
latest_engine_api_version: "1.45"
docker_ce_version: "26.0.0"
compose_version: "v2.25.0"
compose_file_v3: "3.8"
compose_file_v2: "2.4"