You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@@ -109,6 +110,59 @@ The table below provides an overview of the current status of deprecated feature
109
110
| Removed |[`--run` flag on `docker commit`](#--run-flag-on-docker-commit)| v0.10 | v1.13 |
110
111
| Removed |[Three arguments form in `docker import`](#three-arguments-form-in-docker-import)| v0.6.7 | v1.12 |
111
112
113
+
### Deprecate legacy API versions
114
+
115
+
**Deprecated in Release: v25.0**
116
+
**Target For Removal In Release: v26.0**
117
+
118
+
The Docker daemon provides a versioned API for backward compatibility with old
119
+
clients. Docker clients can perform API-version negotiation to select the most
120
+
recent API version supported by the daemon (downgrading to and older version of
121
+
the API when necessary). API version negotiation was introduced in Docker v1.12.0
122
+
(API 1.24), and clients before that used a fixed API version.
123
+
124
+
Docker Engine versions through v25.0 provide support for all [API versions](https://docs.docker.com/engine/api/#api-version-matrix)
125
+
included in stable releases for a given platform. For Docker daemons on Linux,
126
+
the earliest supported API version is 1.12 (corresponding with Docker Engine
127
+
v1.0.0), whereas for Docker daemons on Windows, the earliest supported API
128
+
version is 1.24 (corresponding with Docker Engine v1.12.0).
129
+
130
+
Support for legacy API versions (providing old API versions on current versions
131
+
of the Docker Engine) is primarily intended to provide compatibility with recent,
132
+
but still supported versions of the client, which is a common scenario (the Docker
133
+
daemon may be updated to the latest release, but not all clients may be up-to-date
134
+
or vice versa). Support for API versions before that (API versions provided by
135
+
EOL versions of the Docker Daemon) is provided on a "best effort" basis.
136
+
137
+
Use of old API versions is very rare, and support for legacy API versions
138
+
involves significant complexity (Docker 1.0.0 having been released 10 years ago).
139
+
Because of this, we'll start deprecating support for legacy API versions.
140
+
141
+
Docker Engine v25.0 by default disables API version older than 1.24 (aligning
142
+
the minimum supported API version between Linux and Windows daemons). When
143
+
connecting with a client that uses an API version version older than 1.24,
144
+
the daemon returns an error. The following example configures the docker
145
+
CLI to use API version 1.23, which produces an error:
146
+
147
+
```console
148
+
DOCKER_API_VERSION=1.23 docker version
149
+
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
150
+
```
151
+
152
+
An environment variable (`DOCKER_MIN_API_VERSION`) is introduced that allows
153
+
re-enabling older API versions in the daemon. This environment variable must
154
+
be set in the daemon's environment (for example, through a [systemd override
155
+
file](https://docs.docker.com/config/daemon/systemd/)), and the specified
156
+
API version must be supported by the daemon (`1.12` or higher on Linux, or
157
+
`1.24` or higher on Windows).
158
+
159
+
Support for API versions lower than `1.24` will be permanently removed in Docker
160
+
Engine v26, and the minimum supported API version will be incrementally raised
161
+
in releases following that.
162
+
163
+
We do not recommend depending on the `DOCKER_MIN_API_VERSION` environment
164
+
variable other than for exceptional cases where it's not possible to update
0 commit comments