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