github.1git.de/docker/cli@v26.1.3+incompatible/docs/deprecated.md (about) 1 --- 2 aliases: ["/engine/misc/deprecated/"] 3 description: "Deprecated Features." 4 keywords: "docker, documentation, about, technology, deprecate" 5 --- 6 7 <!-- This file is maintained within the docker/cli GitHub 8 repository at https://github.com/docker/cli/. Make all 9 pull requests against that repo. If you see this file in 10 another repository, consider it read-only there, as it will 11 periodically be overwritten by the definitive file. Pull 12 requests which include edits to this file in other repositories 13 will be rejected. 14 --> 15 16 # Deprecated Engine Features 17 18 This page provides an overview of features that are deprecated in Engine. Changes 19 in packaging, and supported (Linux) distributions are not included. To learn 20 about end of support for Linux distributions, refer to the 21 [release notes](https://docs.docker.com/engine/release-notes/). 22 23 ## Feature Deprecation Policy 24 25 As changes are made to Docker there may be times when existing features need to 26 be removed or replaced with newer features. Before an existing feature is removed 27 it is labeled as "deprecated" within the documentation and remains in Docker for 28 at least one stable release unless specified explicitly otherwise. After that time 29 it may be removed. 30 31 Users are expected to take note of the list of deprecated features each release 32 and plan their migration away from those features, and (if applicable) towards 33 the replacement features as soon as possible. 34 35 ## Deprecated Engine Features 36 37 The table below provides an overview of the current status of deprecated features: 38 39 - **Deprecated**: the feature is marked "deprecated" and should no longer be used. 40 The feature may be removed, disabled, or change behavior in a future release. 41 The _"Deprecated"_ column contains the release in which the feature was marked 42 deprecated, whereas the _"Remove"_ column contains a tentative release in which 43 the feature is to be removed. If no release is included in the _"Remove"_ column, 44 the release is yet to be decided on. 45 - **Removed**: the feature was removed, disabled, or hidden. Refer to the linked 46 section for details. Some features are "soft" deprecated, which means that they 47 remain functional for backward compatibility, and to allow users to migrate to 48 alternatives. In such cases, a warning may be printed, and users should not rely 49 on this feature. 50 51 | Status | Feature | Deprecated | Remove | 52 |------------|------------------------------------------------------------------------------------------------------------------------------------|------------|--------| 53 | Deprecated | [Unauthenticated TCP connections](#unauthenticated-tcp-connections) | v26.0 | v27.0 | 54 | Deprecated | [`Container` and `ContainerConfig` fields in Image inspect](#container-and-containerconfig-fields-in-image-inspect) | v25.0 | v26.0 | 55 | Deprecated | [Deprecate legacy API versions](#deprecate-legacy-api-versions) | v25.0 | v26.0 | 56 | Removed | [Container short ID in network Aliases field](#container-short-id-in-network-aliases-field) | v25.0 | v26.0 | 57 | Deprecated | [IsAutomated field, and "is-automated" filter on docker search](#isautomated-field-and-is-automated-filter-on-docker-search) | v25.0 | v26.0 | 58 | Removed | [logentries logging driver](#logentries-logging-driver) | v24.0 | v25.0 | 59 | Removed | [OOM-score adjust for the daemon](#oom-score-adjust-for-the-daemon) | v24.0 | v25.0 | 60 | Removed | [Buildkit build information](#buildkit-build-information) | v23.0 | v24.0 | 61 | Deprecated | [Legacy builder for Linux images](#legacy-builder-for-linux-images) | v23.0 | - | 62 | Deprecated | [Legacy builder fallback](#legacy-builder-fallback) | v23.0 | - | 63 | Removed | [Btrfs storage driver on CentOS 7 and RHEL 7](#btrfs-storage-driver-on-centos-7-and-rhel-7) | v20.10 | v23.0 | 64 | Removed | [Support for encrypted TLS private keys](#support-for-encrypted-tls-private-keys) | v20.10 | v23.0 | 65 | Removed | [Kubernetes stack and context support](#kubernetes-stack-and-context-support) | v20.10 | v23.0 | 66 | Deprecated | [Pulling images from non-compliant image registries](#pulling-images-from-non-compliant-image-registries) | v20.10 | - | 67 | Removed | [Linux containers on Windows (LCOW)](#linux-containers-on-windows-lcow-experimental) | v20.10 | v23.0 | 68 | Deprecated | [BLKIO weight options with cgroups v1](#blkio-weight-options-with-cgroups-v1) | v20.10 | - | 69 | Removed | [Kernel memory limit](#kernel-memory-limit) | v20.10 | v23.0 | 70 | Removed | [Classic Swarm and overlay networks using external key/value stores](#classic-swarm-and-overlay-networks-using-cluster-store) | v20.10 | v23.0 | 71 | Removed | [Support for the legacy `~/.dockercfg` configuration file for authentication](#support-for-legacy-dockercfg-configuration-files) | v20.10 | v23.0 | 72 | Deprecated | [CLI plugins support](#cli-plugins-support) | v20.10 | - | 73 | Deprecated | [Dockerfile legacy `ENV name value` syntax](#dockerfile-legacy-env-name-value-syntax) | v20.10 | - | 74 | Removed | [`docker build --stream` flag (experimental)](#docker-build---stream-flag-experimental) | v20.10 | v20.10 | 75 | Deprecated | [`fluentd-async-connect` log opt](#fluentd-async-connect-log-opt) | v20.10 | - | 76 | Removed | [Configuration options for experimental CLI features](#configuration-options-for-experimental-cli-features) | v19.03 | v23.0 | 77 | Deprecated | [Pushing and pulling with image manifest v2 schema 1](#pushing-and-pulling-with-image-manifest-v2-schema-1) | v19.03 | v27.0 | 78 | Removed | [`docker engine` subcommands](#docker-engine-subcommands) | v19.03 | v20.10 | 79 | Removed | [Top-level `docker deploy` subcommand (experimental)](#top-level-docker-deploy-subcommand-experimental) | v19.03 | v20.10 | 80 | Removed | [`docker stack deploy` using "dab" files (experimental)](#docker-stack-deploy-using-dab-files-experimental) | v19.03 | v20.10 | 81 | Removed | [Support for the `overlay2.override_kernel_check` storage option](#support-for-the-overlay2override_kernel_check-storage-option) | v19.03 | v24.0 | 82 | Removed | [AuFS storage driver](#aufs-storage-driver) | v19.03 | v24.0 | 83 | Removed | [Legacy "overlay" storage driver](#legacy-overlay-storage-driver) | v18.09 | v24.0 | 84 | Removed | [Device mapper storage driver](#device-mapper-storage-driver) | v18.09 | v25.0 | 85 | Removed | [Use of reserved namespaces in engine labels](#use-of-reserved-namespaces-in-engine-labels) | v18.06 | v20.10 | 86 | Removed | [`--disable-legacy-registry` override daemon option](#--disable-legacy-registry-override-daemon-option) | v17.12 | v19.03 | 87 | Removed | [Interacting with V1 registries](#interacting-with-v1-registries) | v17.06 | v17.12 | 88 | Removed | [Asynchronous `service create` and `service update` as default](#asynchronous-service-create-and-service-update-as-default) | v17.05 | v17.10 | 89 | Removed | [`-g` and `--graph` flags on `dockerd`](#-g-and---graph-flags-on-dockerd) | v17.05 | v23.0 | 90 | Deprecated | [Top-level network properties in NetworkSettings](#top-level-network-properties-in-networksettings) | v1.13 | v17.12 | 91 | Removed | [`filter` param for `/images/json` endpoint](#filter-param-for-imagesjson-endpoint) | v1.13 | v20.10 | 92 | Removed | [`repository:shortid` image references](#repositoryshortid-image-references) | v1.13 | v17.12 | 93 | Removed | [`docker daemon` subcommand](#docker-daemon-subcommand) | v1.13 | v17.12 | 94 | Removed | [Duplicate keys with conflicting values in engine labels](#duplicate-keys-with-conflicting-values-in-engine-labels) | v1.13 | v17.12 | 95 | Deprecated | [`MAINTAINER` in Dockerfile](#maintainer-in-dockerfile) | v1.13 | - | 96 | Deprecated | [API calls without a version](#api-calls-without-a-version) | v1.13 | v17.12 | 97 | Removed | [Backing filesystem without `d_type` support for overlay/overlay2](#backing-filesystem-without-d_type-support-for-overlayoverlay2) | v1.13 | v17.12 | 98 | Removed | [`--automated` and `--stars` flags on `docker search`](#--automated-and---stars-flags-on-docker-search) | v1.12 | v20.10 | 99 | Deprecated | [`-h` shorthand for `--help`](#-h-shorthand-for---help) | v1.12 | v17.09 | 100 | Removed | [`-e` and `--email` flags on `docker login`](#-e-and---email-flags-on-docker-login) | v1.11 | v17.06 | 101 | Deprecated | [Separator (`:`) of `--security-opt` flag on `docker run`](#separator--of---security-opt-flag-on-docker-run) | v1.11 | v17.06 | 102 | Deprecated | [Ambiguous event fields in API](#ambiguous-event-fields-in-api) | v1.10 | - | 103 | Removed | [`-f` flag on `docker tag`](#-f-flag-on-docker-tag) | v1.10 | v1.12 | 104 | Removed | [HostConfig at API container start](#hostconfig-at-api-container-start) | v1.10 | v1.12 | 105 | Removed | [`--before` and `--since` flags on `docker ps`](#--before-and---since-flags-on-docker-ps) | v1.10 | v1.12 | 106 | Removed | [Driver-specific log tags](#driver-specific-log-tags) | v1.9 | v1.12 | 107 | Removed | [Docker Content Trust `ENV` passphrase variables name change](#docker-content-trust-env-passphrase-variables-name-change) | v1.9 | v1.12 | 108 | Removed | [`/containers/(id or name)/copy` endpoint](#containersid-or-namecopy-endpoint) | v1.8 | v1.12 | 109 | Removed | [LXC built-in exec driver](#lxc-built-in-exec-driver) | v1.8 | v1.10 | 110 | Removed | [Old Command Line Options](#old-command-line-options) | v1.8 | v1.10 | 111 | Removed | [`--api-enable-cors` flag on `dockerd`](#--api-enable-cors-flag-on-dockerd) | v1.6 | v17.09 | 112 | Removed | [`--run` flag on `docker commit`](#--run-flag-on-docker-commit) | v0.10 | v1.13 | 113 | Removed | [Three arguments form in `docker import`](#three-arguments-form-in-docker-import) | v0.6.7 | v1.12 | 114 115 ### Unauthenticated TCP connections 116 117 **Deprecated in Release: v26.0** 118 **Target For Removal In Release: v27.0** 119 120 Configuring the Docker daemon to listen on a TCP address will require mandatory 121 TLS verification. This change aims to ensure secure communication by preventing 122 unauthorized access to the Docker daemon over potentially insecure networks. 123 This mandatory TLS requirement applies to all TCP addresses except `tcp://localhost`. 124 125 In version 27.0 and later, specifying `--tls=false` or `--tlsverify=false` CLI flags 126 causes the daemon to fail to start if it's also configured to accept remote connections over TCP. 127 This also applies to the equivalent configuration options in `daemon.json`. 128 129 To facilitate remote access to the Docker daemon over TCP, you'll need to 130 implement TLS verification. This secures the connection by encrypting data in 131 transit and providing a mechanism for mutual authentication. 132 133 For environments remote daemon access isn't required, 134 we recommend binding the Docker daemon to a Unix socket. 135 For daemon's where remote access is required and where TLS encryption is not feasible, 136 you may want to consider using SSH as an alternative solution. 137 138 For further information, assistance, and step-by-step instructions on 139 configuring TLS (or SSH) for the Docker daemon, refer to 140 [Protect the Docker daemon socket](https://docs.docker.com/engine/security/protect-access/). 141 142 ### `Container` and `ContainerConfig` fields in Image inspect 143 144 **Deprecated in Release: v25.0** 145 **Target For Removal In Release: v26.0** 146 147 The `Container` and `ContainerConfig` fields returned by `docker inspect` are 148 mostly an implementation detail of the classic (non-BuildKit) image builder. 149 These fields are not portable and are empty when using the 150 BuildKit-based builder (enabled by default since v23.0). 151 These fields are deprecated in v25.0 and will be omitted starting from v26.0. 152 If image configuration of an image is needed, you can obtain it from the 153 `Config` field. 154 155 ### Deprecate legacy API versions 156 157 **Deprecated in Release: v25.0** 158 **Target For Removal In Release: v26.0** 159 160 The Docker daemon provides a versioned API for backward compatibility with old 161 clients. Docker clients can perform API-version negotiation to select the most 162 recent API version supported by the daemon (downgrading to and older version of 163 the API when necessary). API version negotiation was introduced in Docker v1.12.0 164 (API 1.24), and clients before that used a fixed API version. 165 166 Docker Engine versions through v25.0 provide support for all [API versions](https://docs.docker.com/engine/api/#api-version-matrix) 167 included in stable releases for a given platform. For Docker daemons on Linux, 168 the earliest supported API version is 1.12 (corresponding with Docker Engine 169 v1.0.0), whereas for Docker daemons on Windows, the earliest supported API 170 version is 1.24 (corresponding with Docker Engine v1.12.0). 171 172 Support for legacy API versions (providing old API versions on current versions 173 of the Docker Engine) is primarily intended to provide compatibility with recent, 174 but still supported versions of the client, which is a common scenario (the Docker 175 daemon may be updated to the latest release, but not all clients may be up-to-date 176 or vice versa). Support for API versions before that (API versions provided by 177 EOL versions of the Docker Daemon) is provided on a "best effort" basis. 178 179 Use of old API versions is very rare, and support for legacy API versions 180 involves significant complexity (Docker 1.0.0 having been released 10 years ago). 181 Because of this, we'll start deprecating support for legacy API versions. 182 183 Docker Engine v25.0 by default disables API version older than 1.24 (aligning 184 the minimum supported API version between Linux and Windows daemons). When 185 connecting with a client that uses an API version version older than 1.24, 186 the daemon returns an error. The following example configures the docker 187 CLI to use API version 1.23, which produces an error: 188 189 ```console 190 DOCKER_API_VERSION=1.23 docker version 191 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 192 ``` 193 194 An environment variable (`DOCKER_MIN_API_VERSION`) is introduced that allows 195 re-enabling older API versions in the daemon. This environment variable must 196 be set in the daemon's environment (for example, through a [systemd override 197 file](https://docs.docker.com/config/daemon/systemd/)), and the specified 198 API version must be supported by the daemon (`1.12` or higher on Linux, or 199 `1.24` or higher on Windows). 200 201 Support for API versions lower than `1.24` will be permanently removed in Docker 202 Engine v26, and the minimum supported API version will be incrementally raised 203 in releases following that. 204 205 We do not recommend depending on the `DOCKER_MIN_API_VERSION` environment 206 variable other than for exceptional cases where it's not possible to update 207 old clients, and those clients must be supported. 208 209 ### Container short ID in network Aliases field 210 211 **Deprecated in Release: v25.0** 212 **Removed In Release: v26.0** 213 214 The `Aliases` field returned by `docker inspect` contains the container short 215 ID once the container is started. This behavior is deprecated in v25.0 but 216 kept until the next release, v26.0. Starting with that version, the `Aliases` 217 field will only contain the aliases set through the `docker container create` 218 and `docker run` flag `--network-alias`. 219 220 A new field `DNSNames` containing the container name (if one was specified), 221 the hostname, the network aliases, as well as the container short ID, has been 222 introduced in v25.0 and should be used instead of the `Aliases` field. 223 224 ### IsAutomated field, and "is-automated" filter on docker search 225 226 **Deprecated in Release: v25.0** 227 **Target For Removal In Release: v26.0** 228 229 The "is_automated" field has been deprecated by Docker Hub's search API. 230 Consequently, the `IsAutomated` field in image search will always be set 231 to `false` in future, and searching for "is-automated=true" will yield no 232 results. 233 234 The `AUTOMATED` column has been removed from the default `docker search` 235 and `docker image search` output in v25.0, and the corresponding `IsAutomated` 236 templating option will be removed in v26.0. 237 238 ### Logentries logging driver 239 240 **Deprecated in Release: v24.0** 241 **Removed in Release: v25.0** 242 243 The logentries service SaaS was shut down on November 15, 2022, rendering 244 this logging driver non-functional. Users should no longer use this logging 245 driver, and the driver has been removed in Docker 25.0. Existing containers 246 using this logging-driver are migrated to use the "local" logging driver 247 after upgrading. 248 249 ### OOM-score adjust for the daemon 250 251 **Deprecated in Release: v24.0** 252 **Removed in Release: v25.0** 253 254 The `oom-score-adjust` option was added to prevent the daemon from being 255 OOM-killed before other processes. This option was mostly added as a 256 convenience, as running the daemon as a systemd unit was not yet common. 257 258 Having the daemon set its own limits is not best-practice, and something 259 better handled by the process-manager starting the daemon. 260 261 Docker v20.10 and newer no longer adjust the daemon's OOM score by default, 262 instead setting the OOM-score to the systemd unit (OOMScoreAdjust) that's 263 shipped with the packages. 264 265 Users currently depending on this feature are recommended to adjust the 266 daemon's OOM score using systemd or through other means, when starting 267 the daemon. 268 269 ### Buildkit build information 270 271 **Deprecated in Release: v23.0** 272 **Removed in Release: v24.0** 273 274 [Build information](https://github.com/moby/buildkit/blob/v0.11/docs/buildinfo.md) 275 structures have been introduced in [BuildKit v0.10.0](https://github.com/moby/buildkit/releases/tag/v0.10.0) 276 and are generated with build metadata that allows you to see all the sources 277 (images, git repositories) that were used by the build with their exact 278 versions and also the configuration that was passed to the build. This 279 information is also embedded into the image configuration if one is generated. 280 281 ### Legacy builder for Linux images 282 283 **Deprecated in Release: v23.0** 284 285 Docker v23.0 now uses BuildKit by default to build Linux images, and uses the 286 [Buildx](https://docs.docker.com/buildx/working-with-buildx/) CLI component for 287 `docker build`. With this change, `docker build` now exposes all advanced features 288 that BuildKit provides and which were previously only available through the 289 `docker buildx` subcommands. 290 291 The Buildx component is installed automatically when installing the `docker` CLI 292 using our `.deb` or `.rpm` packages, and statically linked binaries are provided 293 both on `download.docker.com`, and through the [`docker/buildx-bin` image](https://hub.docker.com/r/docker/buildx-bin) 294 on Docker Hub. Refer the [Buildx section](http://docs.docker.com/go/buildx/) for 295 detailed instructions on installing the Buildx component. 296 297 This release marks the beginning of the deprecation cycle of the classic ("legacy") 298 builder for Linux images. No active development will happen on the classic builder 299 (except for bugfixes). BuildKit development started five Years ago, left the 300 "experimental" phase since Docker 18.09, and is already the default builder for 301 [Docker Desktop](https://docs.docker.com/desktop/previous-versions/3.x-mac/#docker-desktop-320). 302 While we're comfortable that BuildKit is stable for general use, there may be 303 some changes in behavior. If you encounter issues with BuildKit, we encourage 304 you to report issues in the [BuildKit issue tracker on GitHub](https://github.com/moby/buildkit/){:target="_blank" rel="noopener" class="_"} 305 306 > Classic builder for building Windows images 307 > 308 > BuildKit does not (yet) provide support for building Windows images, and 309 > `docker build` continues to use the classic builder to build native Windows 310 > images on Windows daemons. 311 312 ### Legacy builder fallback 313 314 **Deprecated in Release: v23.0** 315 316 [Docker v23.0 now uses BuildKit by default to build Linux images](#legacy-builder-for-linux-images), 317 which requires the Buildx component to build images with BuildKit. There may be 318 situations where the Buildx component is not available, and BuildKit cannot be 319 used. 320 321 To provide a smooth transition to BuildKit as the default builder, Docker v23.0 322 has an automatic fallback for some situations, or produces an error to assist 323 users to resolve the problem. 324 325 In situations where the user did not explicitly opt-in to use BuildKit (i.e., 326 `DOCKER_BUILDKIT=1` is not set), the CLI automatically falls back to the classic 327 builder, but prints a deprecation warning: 328 329 ``` 330 DEPRECATED: The legacy builder is deprecated and will be removed in a future release. 331 Install the buildx component to build images with BuildKit: 332 https://docs.docker.com/go/buildx/ 333 ``` 334 335 This situation may occur if the `docker` CLI is installed using the static binaries, 336 and the Buildx component is not installed or not installed correctly. This fallback 337 will be removed in a future release, therefore we recommend to [install the Buildx component](https://docs.docker.com/go/buildx/) 338 and use BuildKit for your builds, or opt-out of using BuildKit with `DOCKER_BUILDKIT=0`. 339 340 If you opted-in to use BuildKit (`DOCKER_BUILDKIT=1`), but the Buildx component 341 is missing, an error is printed instead, and the `docker build` command fails: 342 343 ``` 344 ERROR: BuildKit is enabled but the buildx component is missing or broken. 345 Install the buildx component to build images with BuildKit: 346 https://docs.docker.com/go/buildx/ 347 ``` 348 349 We recommend to [install the Buildx component](https://docs.docker.com/go/buildx/) 350 to continue using BuildKit for your builds, but alternatively, users can either 351 unset the `DOCKER_BUILDKIT` environment variable to fall back to the legacy builder, 352 or opt-out of using BuildKit with `DOCKER_BUILDKIT=0`. 353 354 Be aware that the [classic builder is deprecated](#legacy-builder-for-linux-images) 355 so both the automatic fallback and opting-out of using BuildKit will no longer 356 be possible in a future release. 357 358 ### Btrfs storage driver on CentOS 7 and RHEL 7 359 360 **Removed in Release: v23.0** 361 362 The `btrfs` storage driver on CentOS and RHEL was provided as a technology preview 363 by CentOS and RHEL, but has been deprecated since the [Red Hat Enterprise Linux 7.4 release](https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/storage_administration_guide/ch-btrfs), 364 and removed in CentOS 8 and RHEL 8. Users of the `btrfs` storage driver on CentOS 365 are recommended to migrate to a different storage driver, such as `overlay2`, which 366 is now the default storage driver. Docker 23.0 continues to provide the `btrfs` 367 storage driver to allow users to migrate to an alternative driver. The next release 368 of Docker will no longer provide this driver. 369 370 ### Support for encrypted TLS private keys 371 372 **Deprecated in Release: v20.10** 373 374 **Removed in Release: v23.0** 375 376 Use of encrypted TLS private keys has been deprecated, and has been removed. 377 Golang has deprecated support for legacy PEM encryption (as specified in 378 [RFC 1423](https://datatracker.ietf.org/doc/html/rfc1423)), as it is insecure by 379 design (see [https://go-review.googlesource.com/c/go/+/264159](https://go-review.googlesource.com/c/go/+/264159)). 380 381 This feature allowed using an encrypted private key with a supplied password, 382 but did not provide additional security as the encryption is known to be broken, 383 and the key is sitting next to the password in the filesystem. Users are recommended 384 to decrypt the private key, and store it un-encrypted to continue using it. 385 386 ### Kubernetes stack and context support 387 388 **Deprecated in Release: v20.10** 389 **Removed in Release: v23.0** 390 391 Following the deprecation of [Compose on Kubernetes](https://github.com/docker/compose-on-kubernetes), 392 support for Kubernetes in the `stack` and `context` commands has been removed from 393 the cli, and options related to this functionality are now either ignored, or may 394 produce an error. 395 396 The following command-line flags are removed from the `docker context` subcommands: 397 398 - `--default-stack-orchestrator` - swarm is now the only (and default) orchestrator for stacks. 399 - `--kubernetes` - the kubernetes endpoint can no longer be stored in `docker context`. 400 - `--kubeconfig` - exporting a context as a kubeconfig file is no longer supported. 401 402 The output produced by the `docker context inspect` subcommand no longer contains 403 information about `StackOrchestrator` and `Kubernetes` endpoints for new contexts. 404 405 The following command-line flags are removed from the `docker stack` subcommands: 406 407 - `--kubeconfig` - using a kubeconfig file as context is no longer supported. 408 - `--namespace` - configuring the kubernetes namespace for stacks is no longer supported. 409 - `--orchestrator` - swarm is now the only (and default) orchestrator for stacks. 410 411 The `DOCKER_STACK_ORCHESTRATOR`, `DOCKER_ORCHESTRATOR`, and `KUBECONFIG` environment 412 variables, as well as the `stackOrchestrator` option in the `~/.docker/config.json` 413 cli configuration file are no longer used, and ignored. 414 415 ### Pulling images from non-compliant image registries 416 417 **Deprecated in Release: v20.10** 418 419 Docker Engine v20.10 and up includes optimizations to verify if images in the 420 local image cache need updating before pulling, preventing the Docker Engine 421 from making unnecessary API requests. These optimizations require the container 422 image registry to conform to the [Open Container Initiative Distribution Specification](https://github.com/opencontainers/distribution-spec). 423 424 While most registries conform to the specification, we encountered some registries 425 to be non-compliant, resulting in `docker pull` to fail. 426 427 As a temporary solution, Docker Engine v20.10 includes a fallback mechanism to 428 allow `docker pull` to be functional when using a non-compliant registry. A 429 warning message is printed in this situation: 430 431 WARNING Failed to pull manifest by the resolved digest. This registry does not 432 appear to conform to the distribution registry specification; falling back to 433 pull by tag. This fallback is DEPRECATED, and will be removed in a future 434 release. 435 436 The fallback is added to allow users to either migrate their images to a compliant 437 registry, or for these registries to become compliant. 438 439 Note that this fallback only addresses failures on `docker pull`. Other commands, 440 such as `docker stack deploy`, or pulling images with `containerd` will continue 441 to fail. 442 443 Given that other functionality is still broken with these registries, we consider 444 this fallback a _temporary_ solution, and will remove the fallback in an upcoming 445 major release. 446 447 ### Linux containers on Windows (LCOW) (experimental) 448 449 **Deprecated in Release: v20.10** 450 **Removed in Release: v23.0** 451 452 The experimental feature to run Linux containers on Windows (LCOW) was introduced 453 as a technical preview in Docker 17.09. While many enhancements were made after 454 its introduction, the feature never reached completeness, and development has 455 now stopped in favor of running docker natively on Linux in WSL2. 456 457 Developers who want to run Linux workloads on a Windows host are encouraged to use 458 [Docker Desktop with WSL2](https://docs.docker.com/docker-for-windows/wsl/) instead. 459 460 ### BLKIO weight options with cgroups v1 461 462 **Deprecated in Release: v20.10** 463 464 Specifying blkio weight (`docker run --blkio-weight` and `docker run --blkio-weight-device`) 465 is now marked as deprecated when using cgroups v1 because the corresponding features 466 were [removed in Linux kernel v5.0 and up](https://github.com/torvalds/linux/commit/f382fb0bcef4c37dc049e9f6963e3baf204d815c). 467 When using cgroups v2, the `--blkio-weight` options are implemented using 468 [`io.weight](https://github.com/torvalds/linux/blob/v5.0/Documentation/admin-guide/cgroup-v2.rst#io). 469 470 ### Kernel memory limit 471 472 **Deprecated in Release: v20.10** 473 **Removed in Release: v23.0** 474 475 Specifying kernel memory limit (`docker run --kernel-memory`) is no longer supported 476 because the [Linux kernel deprecated `kmem.limit_in_bytes` in v5.4](https://github.com/torvalds/linux/commit/0158115f702b0ba208ab0b5adf44cae99b3ebcc7). 477 The OCI runtime specification now marks this option (as well as `--kernel-memory-tcp`) 478 as ["NOT RECOMMENDED"](https://github.com/opencontainers/runtime-spec/pull/1093), 479 and OCI runtimes such as `runc` no longer support this option. 480 481 Docker API v1.42 and up now ignores this option when set. Older versions of the 482 API continue to accept the option, but depending on the OCI runtime used, may 483 take no effect. 484 485 > **Note** 486 > 487 > While not deprecated (yet) in Docker, the OCI runtime specification also 488 > deprecated the `memory.kmem.tcp.limit_in_bytes` option. When using `runc` as 489 > runtime, this option takes no effect. The linux kernel did not explicitly 490 > deprecate this feature, and there is a tracking ticket in the `runc` issue 491 > tracker to determine if this option should be reinstated or if this was an 492 > oversight of the Linux kernel maintainers (see [opencontainers/runc#3174](https://github.com/opencontainers/runc/issues/3174)). 493 > 494 > The `memory.kmem.tcp.limit_in_bytes` option is only supported with cgroups v1, 495 > and not available on installations running with cgroups v2. This option is 496 > only supported by the API, and not exposed on the `docker` command-line. 497 498 ### Classic Swarm and overlay networks using cluster store 499 500 **Deprecated in Release: v20.10** 501 **Removed in Release: v23.0** 502 503 Standalone ("classic") Swarm has been deprecated, and with that the use of overlay 504 networks using an external key/value store. The corresponding`--cluster-advertise`, 505 `--cluster-store`, and `--cluster-store-opt` daemon options have been removed. 506 507 ### Support for legacy `~/.dockercfg` configuration files 508 509 **Deprecated in Release: v20.10** 510 **Removed in Release: v23.0** 511 512 The docker CLI up until v1.7.0 used the `~/.dockercfg` file to store credentials 513 after authenticating to a registry (`docker login`). Docker v1.7.0 replaced this 514 file with a new CLI configuration file, located in `~/.docker/config.json`. When 515 implementing the new configuration file, the old file (and file-format) was kept 516 as a fall-back, to assist existing users with migrating to the new file. 517 518 Given that the old file format encourages insecure storage of credentials 519 (credentials are stored unencrypted), and that no version of the CLI since 520 Docker v1.7.0 has created this file, support for this file, and its format has 521 been removed. 522 523 ### Configuration options for experimental CLI features 524 525 **Deprecated in Release: v19.03** 526 527 **Removed in Release: v23.0** 528 529 The `DOCKER_CLI_EXPERIMENTAL` environment variable and the corresponding `experimental` 530 field in the CLI configuration file are deprecated. Experimental features are 531 enabled by default, and these configuration options are no longer functional. 532 533 Starting with v23.0, the Docker CLI no longer prints `Experimental` for the client 534 in the output of `docker version`, and the field has been removed from the JSON 535 format. 536 537 ### CLI plugins support 538 539 **Deprecated in Release: v20.10** 540 541 CLI Plugin API is now marked as deprecated. 542 543 ### Dockerfile legacy `ENV name value` syntax 544 545 **Deprecated in Release: v20.10** 546 547 The Dockerfile `ENV` instruction allows values to be set using either `ENV name=value` 548 or `ENV name value`. The latter (`ENV name value`) form can be ambiguous, for example, 549 the following defines a single env-variable (`ONE`) with value `"TWO= THREE=world"`, 550 but may have intended to be setting three env-vars: 551 552 ```dockerfile 553 ENV ONE TWO= THREE=world 554 ``` 555 556 This format also does not allow setting multiple environment-variables in a single 557 `ENV` line in the Dockerfile. 558 559 Use of the `ENV name value` syntax is discouraged, and may be removed in a future 560 release. Users are encouraged to update their Dockerfiles to use the `ENV name=value` 561 syntax, for example: 562 563 ```dockerfile 564 ENV ONE="" TWO="" THREE="world" 565 ``` 566 567 ### `docker build --stream` flag (experimental) 568 569 **Deprecated in Release: v20.10** 570 **Removed in Release: v20.10** 571 572 Docker v17.07 introduced an experimental `--stream` flag on `docker build` which 573 allowed the build-context to be incrementally sent to the daemon, instead of 574 unconditionally sending the whole build-context. 575 576 This functionality has been reimplemented as part of BuildKit, which uses streaming 577 by default and the `--stream` option will be ignored when using the classic builder, 578 printing a deprecation warning instead. 579 580 Users that want to use this feature are encouraged to enable BuildKit by setting 581 the `DOCKER_BUILDKIT=1` environment variable or through the daemon or CLI configuration 582 files. 583 584 ### `fluentd-async-connect` log opt 585 586 **Deprecated in Release: v20.10** 587 588 The `--log-opt fluentd-async-connect` option for the fluentd logging driver is 589 [deprecated in favor of `--log-opt fluentd-async`](https://github.com/moby/moby/pull/39086). 590 A deprecation message is logged in the daemon logs if the old option is used: 591 592 ```console 593 fluent#New: AsyncConnect is now deprecated, please use Async instead 594 ``` 595 596 Users are encouraged to use the `fluentd-async` option going forward, as support 597 for the old option will be removed in a future release. 598 599 ### Pushing and pulling with image manifest v2 schema 1 600 601 **Deprecated in Release: v19.03** 602 603 **Disabled by default in Release: v26.0** 604 605 **Target For Removal In Release: v27.0** 606 607 The image manifest [v2 schema 1](https://distribution.github.io/distribution/spec/deprecated-schema-v1/) 608 and "Docker Image v1" formats were deprecated in favor of the 609 [v2 schema 2](https://distribution.github.io/distribution/spec/manifest-v2-2/) 610 and [OCI image spec](https://github.com/opencontainers/image-spec/tree/v1.1.0) 611 formats. 612 613 These legacy formats should no longer be used, and users are recommended to 614 update images to use current formats, or to upgrade to more current images. 615 Starting with Docker v26.0, pulling these images is disabled by default, and 616 produces an error when attempting to pull the image: 617 618 ```console 619 $ docker pull ubuntu:10.04 620 Error response from daemon: 621 [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. 622 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. 623 More information at https://docs.docker.com/go/deprecated-image-specs/ 624 ``` 625 626 An environment variable (`DOCKER_ENABLE_DEPRECATED_PULL_SCHEMA_1_IMAGE`) is 627 added in Docker v26.0 that allows re-enabling support for these image formats 628 in the daemon. This environment variable must be set to a non-empty value in 629 the daemon's environment (for example, through a [systemd override file](https://docs.docker.com/config/daemon/systemd/)). 630 Support for the `DOCKER_ENABLE_DEPRECATED_PULL_SCHEMA_1_IMAGE` environment-variable 631 will be removed in Docker v27.0 after which this functionality is removed permanently. 632 633 ### `docker engine` subcommands 634 635 **Deprecated in Release: v19.03** 636 637 **Removed in Release: v20.10** 638 639 The `docker engine activate`, `docker engine check`, and `docker engine update` 640 provided an alternative installation method to upgrade Docker Community engines 641 to Docker Enterprise, using an image-based distribution of the Docker Engine. 642 643 This feature was only available on Linux, and only when executed on a local node. 644 Given the limitations of this feature, and the feature not getting widely adopted, 645 the `docker engine` subcommands will be removed, in favor of installation through 646 standard package managers. 647 648 649 ### Top-level `docker deploy` subcommand (experimental) 650 651 **Deprecated in Release: v19.03** 652 653 **Removed in Release: v20.10** 654 655 The top-level `docker deploy` command (using the "Docker Application Bundle" 656 (.dab) file format was introduced as an experimental feature in Docker 1.13 / 657 17.03, but superseded by support for Docker Compose files using the `docker stack deploy` 658 subcommand. 659 660 661 ### `docker stack deploy` using "dab" files (experimental) 662 663 **Deprecated in Release: v19.03** 664 665 **Removed in Release: v20.10** 666 667 With no development being done on this feature, and no active use of the file 668 format, support for the DAB file format and the top-level docker deploy command 669 (hidden by default in 19.03), will be removed, in favour of `docker stack deploy` 670 using compose files. 671 672 ### Support for the `overlay2.override_kernel_check` storage option 673 674 **Deprecated in Release: v19.03** 675 **Removed in Release: v24.0** 676 677 This daemon configuration option disabled the Linux kernel version check used 678 to detect if the kernel supported OverlayFS with multiple lower dirs, which is 679 required for the overlay2 storage driver. Starting with Docker v19.03.7, the 680 detection was improved to no longer depend on the kernel _version_, so this 681 option was no longer used. 682 683 ### AuFS storage driver 684 685 **Deprecated in Release: v19.03** 686 **Removed in Release: v24.0** 687 688 The `aufs` storage driver is deprecated in favor of `overlay2`, and has been 689 removed in a Docker Engine v24.0. Users of the `aufs` storage driver must 690 migrate to a different storage driver, such as `overlay2`, before upgrading 691 to Docker Engine v24.0. 692 693 The `aufs` storage driver facilitated running Docker on distros that have no 694 support for OverlayFS, such as Ubuntu 14.04 LTS, which originally shipped with 695 a 3.14 kernel. 696 697 Now that Ubuntu 14.04 is no longer a supported distro for Docker, and `overlay2` 698 is available to all supported distros (as they are either on kernel 4.x, or have 699 support for multiple lowerdirs backported), there is no reason to continue 700 maintenance of the `aufs` storage driver. 701 702 ### Legacy overlay storage driver 703 704 **Deprecated in Release: v18.09** 705 **Removed in Release: v24.0** 706 707 The `overlay` storage driver is deprecated in favor of the `overlay2` storage 708 driver, which has all the benefits of `overlay`, without its limitations (excessive 709 inode consumption). The legacy `overlay` storage driver has been removed in 710 Docker Engine v24.0. Users of the `overlay` storage driver should migrate to the 711 `overlay2` storage driver before upgrading to Docker Engine v24.0. 712 713 The legacy `overlay` storage driver allowed using overlayFS-backed filesystems 714 on pre 4.x kernels. Now that all supported distributions are able to run `overlay2` 715 (as they are either on kernel 4.x, or have support for multiple lowerdirs 716 backported), there is no reason to keep maintaining the `overlay` storage driver. 717 718 ### Device mapper storage driver 719 720 **Deprecated in Release: v18.09** 721 **Disabled by default in Release: v23.0** 722 **Removed in Release: v25.0** 723 724 The `devicemapper` storage driver is deprecated in favor of `overlay2`, and has 725 been removed in Docker Engine v25.0. Users of the `devicemapper` storage driver 726 must migrate to a different storage driver, such as `overlay2`, before upgrading 727 to Docker Engine v25.0. 728 729 The `devicemapper` storage driver facilitates running Docker on older (3.x) kernels 730 that have no support for other storage drivers (such as overlay2, or btrfs). 731 732 Now that support for `overlay2` is added to all supported distros (as they are 733 either on kernel 4.x, or have support for multiple lowerdirs backported), there 734 is no reason to continue maintenance of the `devicemapper` storage driver. 735 736 ### Use of reserved namespaces in engine labels 737 738 **Deprecated in Release: v18.06** 739 740 **Removed In Release: v20.10** 741 742 The namespaces `com.docker.*`, `io.docker.*`, and `org.dockerproject.*` in engine labels 743 were always documented to be reserved, but there was never any enforcement. 744 745 Usage of these namespaces will now cause a warning in the engine logs to discourage their 746 use, and will error instead in v20.10 and above. 747 748 749 ### `--disable-legacy-registry` override daemon option 750 751 **Disabled In Release: v17.12** 752 753 **Removed In Release: v19.03** 754 755 The `--disable-legacy-registry` flag was disabled in Docker 17.12 and will print 756 an error when used. For this error to be printed, the flag itself is still present, 757 but hidden. The flag has been removed in Docker 19.03. 758 759 760 ### Interacting with V1 registries 761 762 **Disabled By Default In Release: v17.06** 763 764 **Removed In Release: v17.12** 765 766 Version 1.8.3 added a flag (`--disable-legacy-registry=false`) which prevents the 767 docker daemon from `pull`, `push`, and `login` operations against v1 768 registries. Though enabled by default, this signals the intent to deprecate 769 the v1 protocol. 770 771 Support for the v1 protocol to the public registry was removed in 1.13. Any 772 mirror configurations using v1 should be updated to use a 773 [v2 registry mirror](https://docs.docker.com/registry/recipes/mirror/). 774 775 Starting with Docker 17.12, support for V1 registries has been removed, and the 776 `--disable-legacy-registry` flag can no longer be used, and `dockerd` will fail to 777 start when set. 778 779 780 ### Asynchronous `service create` and `service update` as default 781 782 **Deprecated In Release: v17.05** 783 784 **Disabled by default in release: [v17.10](https://github.com/docker/docker-ce/releases/tag/v17.10.0-ce)** 785 786 Docker 17.05 added an optional `--detach=false` option to make the 787 `docker service create` and `docker service update` work synchronously. This 788 option will be enabled by default in Docker 17.10, at which point the `--detach` 789 flag can be used to use the previous (asynchronous) behavior. 790 791 The default for this option will also be changed accordingly for `docker service rollback` 792 and `docker service scale` in Docker 17.10. 793 794 ### `-g` and `--graph` flags on `dockerd` 795 796 **Deprecated In Release: v17.05** 797 798 **Removed In Release: v23.0** 799 800 The `-g` or `--graph` flag for the `dockerd` or `docker daemon` command was 801 used to indicate the directory in which to store persistent data and resource 802 configuration and has been replaced with the more descriptive `--data-root` 803 flag. These flags were deprecated and hidden in v17.05, and removed in v23.0. 804 805 ### Top-level network properties in NetworkSettings 806 807 **Deprecated In Release: [v1.13.0](https://github.com/docker/docker/releases/tag/v1.13.0)** 808 809 **Target For Removal In Release: v17.12** 810 811 When inspecting a container, `NetworkSettings` contains top-level information 812 about the default ("bridge") network; 813 814 `EndpointID`, `Gateway`, `GlobalIPv6Address`, `GlobalIPv6PrefixLen`, `IPAddress`, 815 `IPPrefixLen`, `IPv6Gateway`, and `MacAddress`. 816 817 These properties are deprecated in favor of per-network properties in 818 `NetworkSettings.Networks`. These properties were already "deprecated" in 819 docker 1.9, but kept around for backward compatibility. 820 821 Refer to [#17538](https://github.com/docker/docker/pull/17538) for further 822 information. 823 824 ### `filter` param for `/images/json` endpoint 825 **Deprecated In Release: [v1.13.0](https://github.com/docker/docker/releases/tag/v1.13.0)** 826 827 **Removed In Release: v20.10** 828 829 The `filter` param to filter the list of image by reference (name or name:tag) 830 is now implemented as a regular filter, named `reference`. 831 832 ### `repository:shortid` image references 833 **Deprecated In Release: [v1.13.0](https://github.com/docker/docker/releases/tag/v1.13.0)** 834 835 **Removed In Release: v17.12** 836 837 The `repository:shortid` syntax for referencing images is very little used, 838 collides with tag references, and can be confused with digest references. 839 840 Support for the `repository:shortid` notation to reference images was removed 841 in Docker 17.12. 842 843 ### `docker daemon` subcommand 844 **Deprecated In Release: [v1.13.0](https://github.com/docker/docker/releases/tag/v1.13.0)** 845 846 **Removed In Release: v17.12** 847 848 The daemon is moved to a separate binary (`dockerd`), and should be used instead. 849 850 ### Duplicate keys with conflicting values in engine labels 851 **Deprecated In Release: [v1.13.0](https://github.com/docker/docker/releases/tag/v1.13.0)** 852 853 **Removed In Release: v17.12** 854 855 When setting duplicate keys with conflicting values, an error will be produced, and the daemon 856 will fail to start. 857 858 ### `MAINTAINER` in Dockerfile 859 **Deprecated In Release: [v1.13.0](https://github.com/docker/docker/releases/tag/v1.13.0)** 860 861 `MAINTAINER` was an early very limited form of `LABEL` which should be used instead. 862 863 ### API calls without a version 864 **Deprecated In Release: [v1.13.0](https://github.com/docker/docker/releases/tag/v1.13.0)** 865 866 **Target For Removal In Release: v17.12** 867 868 API versions should be supplied to all API calls to ensure compatibility with 869 future Engine versions. Instead of just requesting, for example, the URL 870 `/containers/json`, you must now request `/v1.25/containers/json`. 871 872 ### Backing filesystem without `d_type` support for overlay/overlay2 873 **Deprecated In Release: [v1.13.0](https://github.com/docker/docker/releases/tag/v1.13.0)** 874 875 **Removed In Release: v17.12** 876 877 The overlay and overlay2 storage driver does not work as expected if the backing 878 filesystem does not support `d_type`. For example, XFS does not support `d_type` 879 if it is formatted with the `ftype=0` option. 880 881 Support for these setups has been removed, and Docker v23.0 and up now fails to 882 start when attempting to use the `overlay2` or `overlay` storage driver on a 883 backing filesystem without `d_type` support. 884 885 Refer to [#27358](https://github.com/docker/docker/issues/27358) for details. 886 887 888 ### `--automated` and `--stars` flags on `docker search` 889 890 **Deprecated in Release: [v1.12.0](https://github.com/docker/docker/releases/tag/v1.12.0)** 891 892 **Removed In Release: v20.10** 893 894 The `docker search --automated` and `docker search --stars` options are deprecated. 895 Use `docker search --filter=is-automated=<true|false>` and `docker search --filter=stars=...` instead. 896 897 898 ### `-h` shorthand for `--help` 899 900 **Deprecated In Release: [v1.12.0](https://github.com/docker/docker/releases/tag/v1.12.0)** 901 902 **Target For Removal In Release: v17.09** 903 904 The shorthand (`-h`) is less common than `--help` on Linux and cannot be used 905 on all subcommands (due to it conflicting with, e.g. `-h` / `--hostname` on 906 `docker create`). For this reason, the `-h` shorthand was not printed in the 907 "usage" output of subcommands, nor documented, and is now marked "deprecated". 908 909 ### `-e` and `--email` flags on `docker login` 910 **Deprecated In Release: [v1.11.0](https://github.com/docker/docker/releases/tag/v1.11.0)** 911 912 **Removed In Release: [v17.06](https://github.com/docker/docker-ce/releases/tag/v17.06.0-ce)** 913 914 The docker login command is removing the ability to automatically register for an account with the target registry if the given username doesn't exist. Due to this change, the email flag is no longer required, and will be deprecated. 915 916 ### Separator (`:`) of `--security-opt` flag on `docker run` 917 **Deprecated In Release: [v1.11.0](https://github.com/docker/docker/releases/tag/v1.11.0)** 918 919 **Target For Removal In Release: v17.06** 920 921 The flag `--security-opt` doesn't use the colon separator (`:`) anymore to divide keys and values, it uses the equal symbol (`=`) for consistency with other similar flags, like `--storage-opt`. 922 923 ### Ambiguous event fields in API 924 **Deprecated In Release: [v1.10.0](https://github.com/docker/docker/releases/tag/v1.10.0)** 925 926 The fields `ID`, `Status` and `From` in the events API have been deprecated in favor of a more rich structure. 927 See the events API documentation for the new format. 928 929 ### `-f` flag on `docker tag` 930 **Deprecated In Release: [v1.10.0](https://github.com/docker/docker/releases/tag/v1.10.0)** 931 932 **Removed In Release: [v1.12.0](https://github.com/docker/docker/releases/tag/v1.12.0)** 933 934 To make tagging consistent across the various `docker` commands, the `-f` flag on the `docker tag` command is deprecated. It is no longer necessary to specify `-f` to move a tag from one image to another. Nor will `docker` generate an error if the `-f` flag is missing and the specified tag is already in use. 935 936 ### HostConfig at API container start 937 **Deprecated In Release: [v1.10.0](https://github.com/docker/docker/releases/tag/v1.10.0)** 938 939 **Removed In Release: [v1.12.0](https://github.com/docker/docker/releases/tag/v1.12.0)** 940 941 Passing an `HostConfig` to `POST /containers/{name}/start` is deprecated in favor of 942 defining it at container creation (`POST /containers/create`). 943 944 ### `--before` and `--since` flags on `docker ps` 945 946 **Deprecated In Release: [v1.10.0](https://github.com/docker/docker/releases/tag/v1.10.0)** 947 948 **Removed In Release: [v1.12.0](https://github.com/docker/docker/releases/tag/v1.12.0)** 949 950 The `docker ps --before` and `docker ps --since` options are deprecated. 951 Use `docker ps --filter=before=...` and `docker ps --filter=since=...` instead. 952 953 954 ### Driver-specific log tags 955 **Deprecated In Release: [v1.9.0](https://github.com/docker/docker/releases/tag/v1.9.0)** 956 957 **Removed In Release: [v1.12.0](https://github.com/docker/docker/releases/tag/v1.12.0)** 958 959 Log tags are now generated in a standard way across different logging drivers. 960 Because of which, the driver specific log tag options `syslog-tag`, `gelf-tag` and 961 `fluentd-tag` have been deprecated in favor of the generic `tag` option. 962 963 ```console 964 $ docker --log-driver=syslog --log-opt tag="{{.ImageName}}/{{.Name}}/{{.ID}}" 965 ``` 966 967 968 ### Docker Content Trust ENV passphrase variables name change 969 **Deprecated In Release: [v1.9.0](https://github.com/docker/docker/releases/tag/v1.9.0)** 970 971 **Removed In Release: [v1.12.0](https://github.com/docker/docker/releases/tag/v1.12.0)** 972 973 Since 1.9, Docker Content Trust Offline key has been renamed to Root key and the Tagging key has been renamed to Repository key. Due to this renaming, we're also changing the corresponding environment variables 974 975 - DOCKER_CONTENT_TRUST_OFFLINE_PASSPHRASE is now named DOCKER_CONTENT_TRUST_ROOT_PASSPHRASE 976 - DOCKER_CONTENT_TRUST_TAGGING_PASSPHRASE is now named DOCKER_CONTENT_TRUST_REPOSITORY_PASSPHRASE 977 978 979 ### `/containers/(id or name)/copy` endpoint 980 981 **Deprecated In Release: [v1.8.0](https://github.com/docker/docker/releases/tag/v1.8.0)** 982 983 **Removed In Release: [v1.12.0](https://github.com/docker/docker/releases/tag/v1.12.0)** 984 985 The endpoint `/containers/(id or name)/copy` is deprecated in favor of `/containers/(id or name)/archive`. 986 987 988 ### LXC built-in exec driver 989 **Deprecated In Release: [v1.8.0](https://github.com/docker/docker/releases/tag/v1.8.0)** 990 991 **Removed In Release: [v1.10.0](https://github.com/docker/docker/releases/tag/v1.10.0)** 992 993 The built-in LXC execution driver, the lxc-conf flag, and API fields have been removed. 994 995 996 ### Old Command Line Options 997 **Deprecated In Release: [v1.8.0](https://github.com/docker/docker/releases/tag/v1.8.0)** 998 999 **Removed In Release: [v1.10.0](https://github.com/docker/docker/releases/tag/v1.10.0)** 1000 1001 The flags `-d` and `--daemon` are deprecated in favor of the `daemon` subcommand: 1002 1003 docker daemon -H ... 1004 1005 The following single-dash (`-opt`) variant of certain command line options 1006 are deprecated and replaced with double-dash options (`--opt`): 1007 1008 docker attach -nostdin 1009 docker attach -sig-proxy 1010 docker build -no-cache 1011 docker build -rm 1012 docker commit -author 1013 docker commit -run 1014 docker events -since 1015 docker history -notrunc 1016 docker images -notrunc 1017 docker inspect -format 1018 docker ps -beforeId 1019 docker ps -notrunc 1020 docker ps -sinceId 1021 docker rm -link 1022 docker run -cidfile 1023 docker run -dns 1024 docker run -entrypoint 1025 docker run -expose 1026 docker run -link 1027 docker run -lxc-conf 1028 docker run -n 1029 docker run -privileged 1030 docker run -volumes-from 1031 docker search -notrunc 1032 docker search -stars 1033 docker search -t 1034 docker search -trusted 1035 docker tag -force 1036 1037 The following double-dash options are deprecated and have no replacement: 1038 1039 docker run --cpuset 1040 docker run --networking 1041 docker ps --since-id 1042 docker ps --before-id 1043 docker search --trusted 1044 1045 **Deprecated In Release: [v1.5.0](https://github.com/docker/docker/releases/tag/v1.5.0)** 1046 1047 **Removed In Release: [v1.12.0](https://github.com/docker/docker/releases/tag/v1.12.0)** 1048 1049 The single-dash (`-help`) was removed, in favor of the double-dash `--help` 1050 1051 docker -help 1052 docker [COMMAND] -help 1053 1054 1055 ### `--api-enable-cors` flag on dockerd 1056 1057 **Deprecated In Release: [v1.6.0](https://github.com/docker/docker/releases/tag/v1.6.0)** 1058 1059 **Removed In Release: [v17.09](https://github.com/docker/docker-ce/releases/tag/v17.09.0-ce)** 1060 1061 The flag `--api-enable-cors` is deprecated since v1.6.0. Use the flag 1062 `--api-cors-header` instead. 1063 1064 ### `--run` flag on docker commit 1065 1066 **Deprecated In Release: [v0.10.0](https://github.com/docker/docker/releases/tag/v0.10.0)** 1067 1068 **Removed In Release: [v1.13.0](https://github.com/docker/docker/releases/tag/v1.13.0)** 1069 1070 The flag `--run` of the docker commit (and its short version `-run`) were deprecated in favor 1071 of the `--changes` flag that allows to pass `Dockerfile` commands. 1072 1073 1074 ### Three arguments form in `docker import` 1075 **Deprecated In Release: [v0.6.7](https://github.com/docker/docker/releases/tag/v0.6.7)** 1076 1077 **Removed In Release: [v1.12.0](https://github.com/docker/docker/releases/tag/v1.12.0)** 1078 1079 The `docker import` command format `file|URL|- [REPOSITORY [TAG]]` is deprecated since November 2013. It's no more supported.