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