github.com/kaisenlinux/docker.io@v0.0.0-20230510090727-ea55db55fac7/cli/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 | [Btrfs storage driver on CentOS 7 and RHEL 7](#btrfs-storage-driver-on-centos-7-and-rhel-7)                                        | v20.10     | -      |
    54  | Deprecated | [Support for encrypted TLS private keys](#support-for-encrypted-tls-private-keys)                                                  | v20.10     | -      |
    55  | Deprecated | [Kubernetes stack and context support](#kubernetes-stack-and-context-support)                                                      | v20.10     | -      |
    56  | Deprecated | [Pulling images from non-compliant image registries](#pulling-images-from-non-compliant-image-registries)                          | v20.10     | -      |
    57  | Deprecated | [Linux containers on Windows (LCOW)](#linux-containers-on-windows-lcow-experimental)                                               | v20.10     | -      |
    58  | Deprecated | [BLKIO weight options with cgroups v1](#blkio-weight-options-with-cgroups-v1)                                                      | v20.10     | -      |
    59  | Deprecated | [Kernel memory limit](#kernel-memory-limit)                                                                                        | v20.10     | -      |
    60  | Deprecated | [Classic Swarm and overlay networks using external key/value stores](#classic-swarm-and-overlay-networks-using-cluster-store)      | v20.10     | -      |
    61  | Deprecated | [Support for the legacy `~/.dockercfg` configuration file for authentication](#support-for-legacy-dockercfg-configuration-files)   | v20.10     | -      |
    62  | Deprecated | [CLI plugins support](#cli-plugins-support)                                                                                        | v20.10     | -      |
    63  | Deprecated | [Dockerfile legacy `ENV name value` syntax](#dockerfile-legacy-env-name-value-syntax)                                              | v20.10     | -      |
    64  | Removed    | [`docker build --stream` flag (experimental)](#docker-build---stream-flag-experimental)                                            | v20.10     | v20.10 |
    65  | Deprecated | [`fluentd-async-connect` log opt](#fluentd-async-connect-log-opt)                                                                  | v20.10     | -      |
    66  | Deprecated | [Configuration options for experimental CLI features](#configuration-options-for-experimental-cli-features)                        | v19.03     | v20.10 |
    67  | Deprecated | [Pushing and pulling with image manifest v2 schema 1](#pushing-and-pulling-with-image-manifest-v2-schema-1)                        | v19.03     | v20.10 |
    68  | Removed    | [`docker engine` subcommands](#docker-engine-subcommands)                                                                          | v19.03     | v20.10 |
    69  | Removed    | [Top-level `docker deploy` subcommand (experimental)](#top-level-docker-deploy-subcommand-experimental)                            | v19.03     | v20.10 |
    70  | Removed    | [`docker stack deploy` using "dab" files (experimental)](#docker-stack-deploy-using-dab-files-experimental)                        | v19.03     | v20.10 |
    71  | Disabled   | [Support for the `overlay2.override_kernel_check` storage option](#support-for-the-overlay2override_kernel_check-storage-option)   | v19.03     | -      |
    72  | Deprecated | [AuFS storage driver](#aufs-storage-driver)                                                                                        | v19.03     | -      |
    73  | Deprecated | [Legacy "overlay" storage driver](#legacy-overlay-storage-driver)                                                                  | v18.09     | -      |
    74  | Deprecated | [Device mapper storage driver](#device-mapper-storage-driver)                                                                      | v18.09     | -      |
    75  | Removed    | [Use of reserved namespaces in engine labels](#use-of-reserved-namespaces-in-engine-labels)                                        | v18.06     | v20.10 |
    76  | Removed    | [`--disable-legacy-registry` override daemon option](#--disable-legacy-registry-override-daemon-option)                            | v17.12     | v19.03 |
    77  | Removed    | [Interacting with V1 registries](#interacting-with-v1-registries)                                                                  | v17.06     | v17.12 |
    78  | Removed    | [Asynchronous `service create` and `service update` as default](#asynchronous-service-create-and-service-update-as-default)        | v17.05     | v17.10 |
    79  | Removed    | [`-g` and `--graph` flags on `dockerd`](#-g-and---graph-flags-on-dockerd)                                                          | v17.05     | -      |
    80  | Deprecated | [Top-level network properties in NetworkSettings](#top-level-network-properties-in-networksettings)                                | v1.13      | v17.12 |
    81  | Removed    | [`filter` param for `/images/json` endpoint](#filter-param-for-imagesjson-endpoint)                                                | v1.13      | v20.10 |
    82  | Removed    | [`repository:shortid` image references](#repositoryshortid-image-references)                                                       | v1.13      | v17.12 |
    83  | Removed    | [`docker daemon` subcommand](#docker-daemon-subcommand)                                                                            | v1.13      | v17.12 |
    84  | Removed    | [Duplicate keys with conflicting values in engine labels](#duplicate-keys-with-conflicting-values-in-engine-labels)                | v1.13      | v17.12 |
    85  | Deprecated | [`MAINTAINER` in Dockerfile](#maintainer-in-dockerfile)                                                                            | v1.13      | -      |
    86  | Deprecated | [API calls without a version](#api-calls-without-a-version)                                                                        | v1.13      | v17.12 |
    87  | Removed    | [Backing filesystem without `d_type` support for overlay/overlay2](#backing-filesystem-without-d_type-support-for-overlayoverlay2) | v1.13      | v17.12 |
    88  | Removed    | [`--automated` and `--stars` flags on `docker search`](#--automated-and---stars-flags-on-docker-search)                            | v1.12      | v20.10 |
    89  | Deprecated | [`-h` shorthand for `--help`](#-h-shorthand-for---help)                                                                            | v1.12      | v17.09 |
    90  | Removed    | [`-e` and `--email` flags on `docker login`](#-e-and---email-flags-on-docker-login)                                                | v1.11      | v17.06 |
    91  | Deprecated | [Separator (`:`) of `--security-opt` flag on `docker run`](#separator--of---security-opt-flag-on-docker-run)                       | v1.11      | v17.06 |
    92  | Deprecated | [Ambiguous event fields in API](#ambiguous-event-fields-in-api)                                                                    | v1.10      | -      |
    93  | Removed    | [`-f` flag on `docker tag`](#-f-flag-on-docker-tag)                                                                                | v1.10      | v1.12  |
    94  | Removed    | [HostConfig at API container start](#hostconfig-at-api-container-start)                                                            | v1.10      | v1.12  |
    95  | Removed    | [`--before` and `--since` flags on `docker ps`](#--before-and---since-flags-on-docker-ps)                                          | v1.10      | v1.12  |
    96  | Removed    | [Driver-specific log tags](#driver-specific-log-tags)                                                                              | v1.9       | v1.12  |
    97  | Removed    | [Docker Content Trust `ENV` passphrase variables name change](#docker-content-trust-env-passphrase-variables-name-change)          | v1.9       | v1.12  |
    98  | Removed    | [`/containers/(id or name)/copy` endpoint](#containersid-or-namecopy-endpoint)                                                     | v1.8       | v1.12  |
    99  | Removed    | [LXC built-in exec driver](#lxc-built-in-exec-driver)                                                                              | v1.8       | v1.10  |
   100  | Removed    | [Old Command Line Options](#old-command-line-options)                                                                              | v1.8       | v1.10  |
   101  | Removed    | [`--api-enable-cors` flag on `dockerd`](#--api-enable-cors-flag-on-dockerd)                                                        | v1.6       | v17.09 |
   102  | Removed    | [`--run` flag on `docker commit`](#--run-flag-on-docker-commit)                                                                    | v0.10      | v1.13  |
   103  | Removed    | [Three arguments form in `docker import`](#three-arguments-form-in-docker-import)                                                  | v0.6.7     | v1.12  |
   104  
   105  
   106  ### Btrfs storage driver on CentOS 7 and RHEL 7
   107  
   108  **Deprecated in Release: v20.10.0**
   109  
   110  **Target For Removal In Release: v23.0.0**
   111  
   112  The `btrfs` storage driver on CentOS and RHEL was provided as a technology preview
   113  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),
   114  and removed in CentOS 8 and RHEL 8. Users of the `btrfs` storage driver on CentOS
   115  are recommended to migrate to a different storage driver, such as `overlay2`, which
   116  is now the default storage driver. Docker 23.0 continues to provide the `btrfs`
   117  storage driver to allow users to migrate to an alternative driver. The next release
   118  of Docker will no longer provide this driver.
   119  
   120  ### Support for encrypted TLS private keys
   121  
   122  **Deprecated in Release: v20.10**
   123  
   124  Use of encrypted TLS private keys has been deprecated, and will be removed in a
   125  future release. Golang has deprecated support for legacy PEM encryption (as
   126  specified in [RFC 1423](https://datatracker.ietf.org/doc/html/rfc1423)), as it
   127  is insecure by design (see [https://go-review.googlesource.com/c/go/+/264159](https://go-review.googlesource.com/c/go/+/264159)).
   128  
   129  ### Kubernetes stack and context support
   130  
   131  **Deprecated in Release: v20.10**
   132  
   133  Following the deprecation of [Compose on Kubernetes](https://github.com/docker/compose-on-kubernetes), support for
   134  Kubernetes in the `stack` and `context` commands in the docker CLI is now marked as deprecated as well.
   135  
   136  ### Pulling images from non-compliant image registries
   137  
   138  **Deprecated in Release: v20.10**
   139  
   140  Docker Engine v20.10 and up includes optimizations to verify if images in the
   141  local image cache need updating before pulling, preventing the Docker Engine
   142  from making unnecessary API requests. These optimizations require the container
   143  image registry to conform to the [Open Container Initiative Distribution Specification](https://github.com/opencontainers/distribution-spec).
   144  
   145  While most registries conform to the specification, we encountered some registries
   146  to be non-compliant, resulting in `docker pull` to fail.
   147  
   148  As a temporary solution, Docker Engine v20.10 includes a fallback mechanism to
   149  allow `docker pull` to be functional when using a non-compliant registry. A
   150  warning message is printed in this situation:
   151  
   152      WARNING Failed to pull manifest by the resolved digest. This registry does not
   153              appear to conform to the distribution registry specification; falling back to
   154              pull by tag. This fallback is DEPRECATED, and will be removed in a future
   155              release.
   156  
   157  The fallback is added to allow users to either migrate their images to a compliant
   158  registry, or for these registries to become compliant.
   159  
   160  Note that this fallback only addresses failures on `docker pull`. Other commands,
   161  such as `docker stack deploy`, or pulling images with `containerd` will continue
   162  to fail.
   163  
   164  Given that other functionality is still broken with these registries, we consider
   165  this fallback a _temporary_ solution, and will remove the fallback in an upcoming
   166  major release.
   167  
   168  ### Linux containers on Windows (LCOW) (experimental)
   169  
   170  **Deprecated in Release: v20.10**
   171  
   172  The experimental feature to run Linux containers on Windows (LCOW) was introduced
   173  as a technical preview in Docker 17.09. While many enhancements were made after
   174  its introduction, the feature never reached completeness, and development has
   175  now stopped in favor of running docker natively on Linux in WSL2.
   176  
   177  Developers who want to run Linux workloads on a Windows host are encouraged to use
   178  [Docker Desktop with WSL2](https://docs.docker.com/docker-for-windows/wsl/) instead.
   179  
   180  ### BLKIO weight options with cgroups v1
   181  
   182  **Deprecated in Release: v20.10**
   183  
   184  Specifying blkio weight (`docker run --blkio-weight` and `docker run --blkio-weight-device`)
   185  is now marked as deprecated when using cgroups v1 because the corresponding features
   186  were [removed in Linux kernel v5.0 and up](https://github.com/torvalds/linux/commit/f382fb0bcef4c37dc049e9f6963e3baf204d815c).
   187  When using cgroups v2, the `--blkio-weight` options are implemented using
   188  [`io.weight](https://github.com/torvalds/linux/blob/v5.0/Documentation/admin-guide/cgroup-v2.rst#io).
   189  
   190  ### Kernel memory limit
   191  
   192  **Deprecated in Release: v20.10**
   193  
   194  Specifying kernel memory limit (`docker run --kernel-memory`) is now marked as deprecated,
   195  as [Linux kernel deprecated `kmem.limit_in_bytes` in v5.4](https://github.com/torvalds/linux/commit/0158115f702b0ba208ab0b5adf44cae99b3ebcc7).
   196  
   197  ### Classic Swarm and overlay networks using cluster store
   198  
   199  **Deprecated in Release: v20.10**
   200  
   201  Standalone ("classic") Swarm has been deprecated, and with that the use of overlay
   202  networks using an external key/value store. The corresponding`--cluster-advertise`,
   203  `--cluster-store`, and `--cluster-store-opt` daemon options have been marked
   204  deprecated, and will be disabled or removed in a future release.
   205  
   206  
   207  ### Support for legacy `~/.dockercfg` configuration files
   208  
   209  **Deprecated in Release: v20.10**
   210  
   211  The docker CLI up until v1.7.0 used the `~/.dockercfg` file to store credentials
   212  after authenticating to a registry (`docker login`). Docker v1.7.0 replaced this
   213  file with a new CLI configuration file, located in `~/.docker/config.json`. When
   214  implementing the new configuration file, the old file (and file-format) was kept
   215  as a fall-back, to assist existing users with migrating to the new file.
   216  
   217  Given that the old file format encourages insecure storage of credentials
   218  (credentials are stored unencrypted), and that no version of the CLI since
   219  Docker v1.7.0 has created this file, the file is marked deprecated, and support
   220  for this file will be removed in a future release.
   221  
   222  ### Configuration options for experimental CLI features
   223  
   224  The `DOCKER_CLI_EXPERIMENTAL` environment variable and the corresponding `experimental`
   225  field in the CLI configuration file are deprecated. Experimental features will be
   226  enabled by default, and these configuration options will no longer be functional.
   227  
   228  ### CLI plugins support
   229  
   230  **Deprecated in Release: v20.10**
   231  
   232  CLI Plugin API is now marked as deprecated.
   233  
   234  ### Dockerfile legacy `ENV name value` syntax
   235  
   236  **Deprecated in Release: v20.10**
   237  
   238  The Dockerfile `ENV` instruction allows values to be set using either `ENV name=value`
   239  or `ENV name value`. The latter (`ENV name value`) form can be ambiguous, for example,
   240  the following defines a single env-variable (`ONE`) with value `"TWO= THREE=world"`,
   241  but may have intended to be setting three env-vars:
   242  
   243  ```dockerfile
   244  ENV ONE TWO= THREE=world
   245  ```
   246  
   247  This format also does not allow setting multiple environment-variables in a single
   248  `ENV` line in the Dockerfile.
   249  
   250  Use of the `ENV name value` syntax is discouraged, and may be removed in a future
   251  release. Users are encouraged to update their Dockerfiles to use the `ENV name=value`
   252  syntax, for example:
   253  
   254  ```dockerfile
   255  ENV ONE="" TWO="" THREE="world"
   256  ```
   257  
   258  ### `docker build --stream` flag (experimental)
   259  
   260  **Deprecated in Release: v20.10**
   261  **Removed in Release: v20.10**
   262  
   263  Docker v17.07 introduced an experimental `--stream` flag on `docker build` which
   264  allowed the build-context to be incrementally sent to the daemon, instead of
   265  unconditionally sending the whole build-context.
   266  
   267  This functionality has been reimplemented as part of BuildKit, which uses streaming
   268  by default and the `--stream` option will be ignored when using the classic builder,
   269  printing a deprecation warning instead.
   270  
   271  Users that want to use this feature are encouraged to enable BuildKit by setting
   272  the `DOCKER_BUILDKIT=1` environment variable or through the daemon or CLI configuration
   273  files.
   274  
   275  ### `fluentd-async-connect` log opt
   276  
   277  **Deprecated in Release: v20.10**
   278  
   279  The `--log-opt fluentd-async-connect` option for the fluentd logging driver is
   280  [deprecated in favor of `--log-opt fluentd-async`](https://github.com/moby/moby/pull/39086).
   281  A deprecation message is logged in the daemon logs if the old option is used:
   282  
   283  ```console
   284  fluent#New: AsyncConnect is now deprecated, please use Async instead
   285  ```
   286  
   287  Users are encouraged to use the `fluentd-async` option going forward, as support
   288  for the old option will be removed in a future release.
   289  
   290  ### Pushing and pulling with image manifest v2 schema 1
   291  
   292  **Deprecated in Release: v19.03**
   293  
   294  **Target For Removal In Release: v20.10**
   295  
   296  The image manifest
   297  [v2 schema 1](https://github.com/docker/distribution/blob/fda42e5ef908bdba722d435ff1f330d40dfcd56c/docs/spec/manifest-v2-1.md)
   298  format is deprecated in favor of the
   299  [v2 schema 2](https://github.com/docker/distribution/blob/fda42e5ef908bdba722d435ff1f330d40dfcd56c/docs/spec/manifest-v2-2.md) format.
   300  
   301  If the registry you are using still supports v2 schema 1, urge their administrators to move to v2 schema 2.
   302  
   303  
   304  ### `docker engine` subcommands
   305  
   306  **Deprecated in Release: v19.03**
   307  
   308  **Removed in Release: v20.10**
   309  
   310  The `docker engine activate`, `docker engine check`, and `docker engine update`
   311  provided an alternative installation method to upgrade Docker Community engines
   312  to Docker Enterprise, using an image-based distribution of the Docker Engine.
   313  
   314  This feature was only available on Linux, and only when executed on a local node.
   315  Given the limitations of this feature, and the feature not getting widely adopted,
   316  the `docker engine` subcommands will be removed, in favor of installation through
   317  standard package  managers.
   318  
   319  
   320  ### Top-level `docker deploy` subcommand (experimental)
   321  
   322  **Deprecated in Release: v19.03**
   323  
   324  **Removed in Release: v20.10**
   325  
   326  The top-level `docker deploy` command (using the "Docker Application Bundle"
   327  (.dab) file format was introduced as an experimental feature in Docker 1.13 /
   328  17.03, but superseded by support for Docker Compose files using the `docker stack deploy`
   329  subcommand.
   330  
   331  
   332  ### `docker stack deploy` using "dab" files (experimental)
   333  
   334  **Deprecated in Release: v19.03**
   335  
   336  **Removed in Release: v20.10**
   337  
   338  With no development being done on this feature, and no active use of the file
   339  format, support for the DAB file format and the top-level docker deploy command
   340  (hidden by default in 19.03), will be removed, in favour of `docker stack deploy`
   341  using compose files.
   342  
   343  ### Support for the `overlay2.override_kernel_check` storage option
   344  
   345  **Deprecated in Release: v19.03**
   346  **Disabled in Release: v19.03**
   347  
   348  This daemon configuration option disabled the Linux kernel version check used
   349  to detect if the kernel supported OverlayFS with multiple lower dirs, which is
   350  required for the overlay2 storage driver. Starting with Docker v19.03.7, the
   351  detection was improved to no longer depend on the kernel _version_, so this
   352  option was no longer used.
   353  
   354  Docker v22.06 logs a warning in the daemon logs if this option is set, and
   355  users should remove this option from their daemon configuration.
   356  
   357  ### AuFS storage driver
   358  
   359  **Deprecated in Release: v19.03**
   360  
   361  The `aufs` storage driver is deprecated in favor of `overlay2`, and will
   362  be removed in a future release. Users of the `aufs` storage driver are
   363  recommended to migrate to a different storage driver, such as `overlay2`, which
   364  is now the default storage driver.
   365  
   366  The `aufs` storage driver facilitates running Docker on distros that have no
   367  support for OverlayFS, such as Ubuntu 14.04 LTS, which originally shipped with
   368  a 3.14 kernel.
   369  
   370  Now that Ubuntu 14.04 is no longer a supported distro for Docker, and `overlay2`
   371  is available to all supported distros (as they are either on kernel 4.x, or have
   372  support for multiple lowerdirs backported), there is no reason to continue
   373  maintenance of the `aufs` storage driver.
   374  
   375  
   376  ### Legacy "overlay" storage driver
   377  
   378  **Deprecated in Release: v18.09**
   379  
   380  The `overlay` storage driver is deprecated in favor of the `overlay2` storage
   381  driver, which has all the benefits of `overlay`, without its limitations (excessive
   382  inode consumption). The legacy `overlay` storage driver will be removed in a future
   383  release. Users of the `overlay` storage driver should migrate to the `overlay2`
   384  storage driver.
   385  
   386  The legacy `overlay` storage driver allowed using overlayFS-backed filesystems
   387  on pre 4.x kernels. Now that all supported distributions are able to run `overlay2`
   388  (as they are either on kernel 4.x, or have support for multiple lowerdirs
   389  backported), there is no reason to keep maintaining the `overlay` storage driver.
   390  
   391  ### Device mapper storage driver
   392  
   393  **Deprecated in Release: v18.09**
   394  
   395  The `devicemapper` storage driver is deprecated in favor of `overlay2`, and will
   396  be removed in a future release. Users of the `devicemapper` storage driver are
   397  recommended to migrate to a different storage driver, such as `overlay2`, which
   398  is now the default storage driver.
   399  
   400  The `devicemapper` storage driver facilitates running Docker on older (3.x) kernels
   401  that have no support for other storage drivers (such as overlay2, or AUFS).
   402  
   403  Now that support for `overlay2` is added to all supported distros (as they are
   404  either on kernel 4.x, or have support for multiple lowerdirs backported), there
   405  is no reason to continue maintenance of the `devicemapper` storage driver.
   406  
   407  
   408  ### Use of reserved namespaces in engine labels
   409  
   410  **Deprecated in Release: v18.06**
   411  
   412  **Removed In Release: v20.10**
   413  
   414  The namespaces `com.docker.*`, `io.docker.*`, and `org.dockerproject.*` in engine labels
   415  were always documented to be reserved, but there was never any enforcement.
   416  
   417  Usage of these namespaces will now cause a warning in the engine logs to discourage their
   418  use, and will error instead in v20.10 and above.
   419  
   420  
   421  ### `--disable-legacy-registry` override daemon option
   422  
   423  **Disabled In Release: v17.12**
   424  
   425  **Removed In Release: v19.03**
   426  
   427  The `--disable-legacy-registry` flag was disabled in Docker 17.12 and will print
   428  an error when used. For this error to be printed, the flag itself is still present,
   429  but hidden. The flag has been removed in Docker 19.03.
   430  
   431  
   432  ### Interacting with V1 registries
   433  
   434  **Disabled By Default In Release: v17.06**
   435  
   436  **Removed In Release: v17.12**
   437  
   438  Version 1.8.3 added a flag (`--disable-legacy-registry=false`) which prevents the
   439  docker daemon from `pull`, `push`, and `login` operations against v1
   440  registries.  Though enabled by default, this signals the intent to deprecate
   441  the v1 protocol.
   442  
   443  Support for the v1 protocol to the public registry was removed in 1.13. Any
   444  mirror configurations using v1 should be updated to use a
   445  [v2 registry mirror](https://docs.docker.com/registry/recipes/mirror/).
   446  
   447  Starting with Docker 17.12, support for V1 registries has been removed, and the
   448  `--disable-legacy-registry` flag can no longer be used, and `dockerd` will fail to
   449  start when set.
   450  
   451  
   452  ### Asynchronous `service create` and `service update` as default
   453  
   454  **Deprecated In Release: v17.05**
   455  
   456  **Disabled by default in release: [v17.10](https://github.com/docker/docker-ce/releases/tag/v17.10.0-ce)**
   457  
   458  Docker 17.05 added an optional `--detach=false` option to make the
   459  `docker service create` and `docker service update` work synchronously. This
   460  option will be enabled by default in Docker 17.10, at which point the `--detach`
   461  flag can be used to use the previous (asynchronous) behavior.
   462  
   463  The default for this option will also be changed accordingly for `docker service rollback`
   464  and `docker service scale` in Docker 17.10.
   465  
   466  ### `-g` and `--graph` flags on `dockerd`
   467  
   468  **Deprecated In Release: v17.05**
   469  
   470  The `-g` or `--graph` flag for the `dockerd` or `docker daemon` command was
   471  used to indicate the directory in which to store persistent data and resource
   472  configuration and has been replaced with the more descriptive `--data-root`
   473  flag.
   474  
   475  These flags were added before Docker 1.0, so will not be _removed_, only
   476  _hidden_, to discourage their use.
   477  
   478  ### Top-level network properties in NetworkSettings
   479  
   480  **Deprecated In Release: [v1.13.0](https://github.com/docker/docker/releases/tag/v1.13.0)**
   481  
   482  **Target For Removal In Release: v17.12**
   483  
   484  When inspecting a container, `NetworkSettings` contains top-level information
   485  about the default ("bridge") network;
   486  
   487  `EndpointID`, `Gateway`, `GlobalIPv6Address`, `GlobalIPv6PrefixLen`, `IPAddress`,
   488  `IPPrefixLen`, `IPv6Gateway`, and `MacAddress`.
   489  
   490  These properties are deprecated in favor of per-network properties in
   491  `NetworkSettings.Networks`. These properties were already "deprecated" in
   492  docker 1.9, but kept around for backward compatibility.
   493  
   494  Refer to [#17538](https://github.com/docker/docker/pull/17538) for further
   495  information.
   496  
   497  ### `filter` param for `/images/json` endpoint
   498  **Deprecated In Release: [v1.13.0](https://github.com/docker/docker/releases/tag/v1.13.0)**
   499  
   500  **Removed In Release: v20.10**
   501  
   502  The `filter` param to filter the list of image by reference (name or name:tag)
   503  is now implemented as a regular filter, named `reference`.
   504  
   505  ### `repository:shortid` image references
   506  **Deprecated In Release: [v1.13.0](https://github.com/docker/docker/releases/tag/v1.13.0)**
   507  
   508  **Removed In Release: v17.12**
   509  
   510  The `repository:shortid` syntax for referencing images is very little used,
   511  collides with tag references, and can be confused with digest references.
   512  
   513  Support for the `repository:shortid` notation to reference images was removed
   514  in Docker 17.12.
   515  
   516  ### `docker daemon` subcommand
   517  **Deprecated In Release: [v1.13.0](https://github.com/docker/docker/releases/tag/v1.13.0)**
   518  
   519  **Removed In Release: v17.12**
   520  
   521  The daemon is moved to a separate binary (`dockerd`), and should be used instead.
   522  
   523  ### Duplicate keys with conflicting values in engine labels
   524  **Deprecated In Release: [v1.13.0](https://github.com/docker/docker/releases/tag/v1.13.0)**
   525  
   526  **Removed In Release: v17.12**
   527  
   528  When setting duplicate keys with conflicting values, an error will be produced, and the daemon
   529  will fail to start.
   530  
   531  ### `MAINTAINER` in Dockerfile
   532  **Deprecated In Release: [v1.13.0](https://github.com/docker/docker/releases/tag/v1.13.0)**
   533  
   534  `MAINTAINER` was an early very limited form of `LABEL` which should be used instead.
   535  
   536  ### API calls without a version
   537  **Deprecated In Release: [v1.13.0](https://github.com/docker/docker/releases/tag/v1.13.0)**
   538  
   539  **Target For Removal In Release: v17.12**
   540  
   541  API versions should be supplied to all API calls to ensure compatibility with
   542  future Engine versions. Instead of just requesting, for example, the URL
   543  `/containers/json`, you must now request `/v1.25/containers/json`.
   544  
   545  ### Backing filesystem without `d_type` support for overlay/overlay2
   546  **Deprecated In Release: [v1.13.0](https://github.com/docker/docker/releases/tag/v1.13.0)**
   547  
   548  **Removed In Release: v17.12**
   549  
   550  The overlay and overlay2 storage driver does not work as expected if the backing
   551  filesystem does not support `d_type`. For example, XFS does not support `d_type`
   552  if it is formatted with the `ftype=0` option.
   553  
   554  Starting with Docker 17.12, new installations will not support running overlay2 on
   555  a backing filesystem without `d_type` support. For existing installations that upgrade
   556  to 17.12, a warning will be printed.
   557  
   558  Please also refer to [#27358](https://github.com/docker/docker/issues/27358) for
   559  further information.
   560  
   561  
   562  ### `--automated` and `--stars` flags on `docker search`
   563  
   564  **Deprecated in Release: [v1.12.0](https://github.com/docker/docker/releases/tag/v1.12.0)**
   565  
   566  **Removed In Release: v20.10**
   567  
   568  The `docker search --automated` and `docker search --stars` options are deprecated.
   569  Use `docker search --filter=is-automated=<true|false>` and `docker search --filter=stars=...` instead.
   570  
   571  
   572  ### `-h` shorthand for `--help`
   573  
   574  **Deprecated In Release: [v1.12.0](https://github.com/docker/docker/releases/tag/v1.12.0)**
   575  
   576  **Target For Removal In Release: v17.09**
   577  
   578  The shorthand (`-h`) is less common than `--help` on Linux and cannot be used
   579  on all subcommands (due to it conflicting with, e.g. `-h` / `--hostname` on
   580  `docker create`). For this reason, the `-h` shorthand was not printed in the
   581  "usage" output of subcommands, nor documented, and is now marked "deprecated".
   582  
   583  ### `-e` and `--email` flags on `docker login`
   584  **Deprecated In Release: [v1.11.0](https://github.com/docker/docker/releases/tag/v1.11.0)**
   585  
   586  **Removed In Release: [v17.06](https://github.com/docker/docker-ce/releases/tag/v17.06.0-ce)**
   587  
   588  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.
   589  
   590  ### Separator (`:`) of `--security-opt` flag on `docker run`
   591  **Deprecated In Release: [v1.11.0](https://github.com/docker/docker/releases/tag/v1.11.0)**
   592  
   593  **Target For Removal In Release: v17.06**
   594  
   595  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`.
   596  
   597  ### Ambiguous event fields in API
   598  **Deprecated In Release: [v1.10.0](https://github.com/docker/docker/releases/tag/v1.10.0)**
   599  
   600  The fields `ID`, `Status` and `From` in the events API have been deprecated in favor of a more rich structure.
   601  See the events API documentation for the new format.
   602  
   603  ### `-f` flag on `docker tag`
   604  **Deprecated In Release: [v1.10.0](https://github.com/docker/docker/releases/tag/v1.10.0)**
   605  
   606  **Removed In Release: [v1.12.0](https://github.com/docker/docker/releases/tag/v1.12.0)**
   607  
   608  To make tagging consistent across the various `docker` commands, the `-f` flag on the `docker tag` command is deprecated. It is not 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.
   609  
   610  ### HostConfig at API container start
   611  **Deprecated In Release: [v1.10.0](https://github.com/docker/docker/releases/tag/v1.10.0)**
   612  
   613  **Removed In Release: [v1.12.0](https://github.com/docker/docker/releases/tag/v1.12.0)**
   614  
   615  Passing an `HostConfig` to `POST /containers/{name}/start` is deprecated in favor of
   616  defining it at container creation (`POST /containers/create`).
   617  
   618  ### `--before` and `--since` flags on `docker ps`
   619  
   620  **Deprecated In Release: [v1.10.0](https://github.com/docker/docker/releases/tag/v1.10.0)**
   621  
   622  **Removed In Release: [v1.12.0](https://github.com/docker/docker/releases/tag/v1.12.0)**
   623  
   624  The `docker ps --before` and `docker ps --since` options are deprecated.
   625  Use `docker ps --filter=before=...` and `docker ps --filter=since=...` instead.
   626  
   627  
   628  ### Driver-specific log tags
   629  **Deprecated In Release: [v1.9.0](https://github.com/docker/docker/releases/tag/v1.9.0)**
   630  
   631  **Removed In Release: [v1.12.0](https://github.com/docker/docker/releases/tag/v1.12.0)**
   632  
   633  Log tags are now generated in a standard way across different logging drivers.
   634  Because of which, the driver specific log tag options `syslog-tag`, `gelf-tag` and
   635  `fluentd-tag` have been deprecated in favor of the generic `tag` option.
   636  
   637  ```console
   638  {% raw %}
   639  $ docker --log-driver=syslog --log-opt tag="{{.ImageName}}/{{.Name}}/{{.ID}}"
   640  {% endraw %}
   641  ```
   642  
   643  
   644  ### Docker Content Trust ENV passphrase variables name change
   645  **Deprecated In Release: [v1.9.0](https://github.com/docker/docker/releases/tag/v1.9.0)**
   646  
   647  **Removed In Release: [v1.12.0](https://github.com/docker/docker/releases/tag/v1.12.0)**
   648  
   649  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
   650  
   651  - DOCKER_CONTENT_TRUST_OFFLINE_PASSPHRASE is now named DOCKER_CONTENT_TRUST_ROOT_PASSPHRASE
   652  - DOCKER_CONTENT_TRUST_TAGGING_PASSPHRASE is now named DOCKER_CONTENT_TRUST_REPOSITORY_PASSPHRASE
   653  
   654  
   655  ### `/containers/(id or name)/copy` endpoint
   656  
   657  **Deprecated In Release: [v1.8.0](https://github.com/docker/docker/releases/tag/v1.8.0)**
   658  
   659  **Removed In Release: [v1.12.0](https://github.com/docker/docker/releases/tag/v1.12.0)**
   660  
   661  The endpoint `/containers/(id or name)/copy` is deprecated in favor of `/containers/(id or name)/archive`.
   662  
   663  
   664  ### LXC built-in exec driver
   665  **Deprecated In Release: [v1.8.0](https://github.com/docker/docker/releases/tag/v1.8.0)**
   666  
   667  **Removed In Release: [v1.10.0](https://github.com/docker/docker/releases/tag/v1.10.0)**
   668  
   669  The built-in LXC execution driver, the lxc-conf flag, and API fields have been removed.
   670  
   671  
   672  ### Old Command Line Options
   673  **Deprecated In Release: [v1.8.0](https://github.com/docker/docker/releases/tag/v1.8.0)**
   674  
   675  **Removed In Release: [v1.10.0](https://github.com/docker/docker/releases/tag/v1.10.0)**
   676  
   677  The flags `-d` and `--daemon` are deprecated in favor of the `daemon` subcommand:
   678  
   679      docker daemon -H ...
   680  
   681  The following single-dash (`-opt`) variant of certain command line options
   682  are deprecated and replaced with double-dash options (`--opt`):
   683  
   684      docker attach -nostdin
   685      docker attach -sig-proxy
   686      docker build -no-cache
   687      docker build -rm
   688      docker commit -author
   689      docker commit -run
   690      docker events -since
   691      docker history -notrunc
   692      docker images -notrunc
   693      docker inspect -format
   694      docker ps -beforeId
   695      docker ps -notrunc
   696      docker ps -sinceId
   697      docker rm -link
   698      docker run -cidfile
   699      docker run -dns
   700      docker run -entrypoint
   701      docker run -expose
   702      docker run -link
   703      docker run -lxc-conf
   704      docker run -n
   705      docker run -privileged
   706      docker run -volumes-from
   707      docker search -notrunc
   708      docker search -stars
   709      docker search -t
   710      docker search -trusted
   711      docker tag -force
   712  
   713  The following double-dash options are deprecated and have no replacement:
   714  
   715      docker run --cpuset
   716      docker run --networking
   717      docker ps --since-id
   718      docker ps --before-id
   719      docker search --trusted
   720  
   721  **Deprecated In Release: [v1.5.0](https://github.com/docker/docker/releases/tag/v1.5.0)**
   722  
   723  **Removed In Release: [v1.12.0](https://github.com/docker/docker/releases/tag/v1.12.0)**
   724  
   725  The single-dash (`-help`) was removed, in favor of the double-dash `--help`
   726  
   727      docker -help
   728      docker [COMMAND] -help
   729  
   730  
   731  ### `--api-enable-cors` flag on dockerd
   732  
   733  **Deprecated In Release: [v1.6.0](https://github.com/docker/docker/releases/tag/v1.6.0)**
   734  
   735  **Removed In Release: [v17.09](https://github.com/docker/docker-ce/releases/tag/v17.09.0-ce)**
   736  
   737  The flag `--api-enable-cors` is deprecated since v1.6.0. Use the flag
   738  `--api-cors-header` instead.
   739  
   740  ### `--run` flag on docker commit
   741  
   742  **Deprecated In Release: [v0.10.0](https://github.com/docker/docker/releases/tag/v0.10.0)**
   743  
   744  **Removed In Release: [v1.13.0](https://github.com/docker/docker/releases/tag/v1.13.0)**
   745  
   746  The flag `--run` of the docker commit (and its short version `-run`) were deprecated in favor
   747  of the `--changes` flag that allows to pass `Dockerfile` commands.
   748  
   749  
   750  ### Three arguments form in `docker import`
   751  **Deprecated In Release: [v0.6.7](https://github.com/docker/docker/releases/tag/v0.6.7)**
   752  
   753  **Removed In Release: [v1.12.0](https://github.com/docker/docker/releases/tag/v1.12.0)**
   754  
   755  The `docker import` command format `file|URL|- [REPOSITORY [TAG]]` is deprecated since November 2013. It's no more supported.