mirror of https://github.com/docker/cli.git
Update deprecation docs
- expand a bit on what's happening - clarify start of deprecation of the classic builder - show examples of error and warning Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
This commit is contained in:
parent
bce65f0edc
commit
fd2274692f
|
@ -50,6 +50,7 @@ The table below provides an overview of the current status of deprecated feature
|
||||||
|
|
||||||
Status | Feature | Deprecated | Remove
|
Status | Feature | Deprecated | Remove
|
||||||
-----------|------------------------------------------------------------------------------------------------------------------------------------|------------|------------
|
-----------|------------------------------------------------------------------------------------------------------------------------------------|------------|------------
|
||||||
|
Deprecated | [Legacy builder for Linux images](#legacy-builder-for-linux-images) | v21.xx | -
|
||||||
Deprecated | [Legacy builder fallback](#legacy-builder-fallback) | v21.xx | -
|
Deprecated | [Legacy builder fallback](#legacy-builder-fallback) | v21.xx | -
|
||||||
Removed | [Support for encrypted TLS private keys](#support-for-encrypted-tls-private-keys) | v20.10 | v21.xx
|
Removed | [Support for encrypted TLS private keys](#support-for-encrypted-tls-private-keys) | v20.10 | v21.xx
|
||||||
Deprecated | [Kubernetes stack and context support](#kubernetes-stack-and-context-support) | v20.10 | -
|
Deprecated | [Kubernetes stack and context support](#kubernetes-stack-and-context-support) | v20.10 | -
|
||||||
|
@ -100,20 +101,82 @@ Removed | [`--api-enable-cors` flag on `dockerd`](#--api-enable-cors-flag-on-
|
||||||
Removed | [`--run` flag on `docker commit`](#--run-flag-on-docker-commit) | v0.10 | v1.13
|
Removed | [`--run` flag on `docker commit`](#--run-flag-on-docker-commit) | v0.10 | v1.13
|
||||||
Removed | [Three arguments form in `docker import`](#three-arguments-form-in-docker-import) | v0.6.7 | v1.12
|
Removed | [Three arguments form in `docker import`](#three-arguments-form-in-docker-import) | v0.6.7 | v1.12
|
||||||
|
|
||||||
|
### Legacy builder for Linux images
|
||||||
|
|
||||||
|
**Deprecated in Release: v21.xx**
|
||||||
|
|
||||||
|
Docker v21.xx now uses BuildKit by default to build Linux images, and uses the
|
||||||
|
[Buildx](https://docs.docker.com/buildx/working-with-buildx/) CLI component for
|
||||||
|
`docker build`. With this change, `docker build` now exposes all advanced features
|
||||||
|
that BuildKit provides and which were previously only available through the
|
||||||
|
`docker buildx` subcommands.
|
||||||
|
|
||||||
|
The Buildx component is installed automatically when installing the `docker` CLI
|
||||||
|
using our `.deb` or `.rpm` packages, and statically linked binaries are provided
|
||||||
|
both on `download.docker.com`, and through the [`docker/buildx-bin` image](https://hub.docker.com/r/docker/buildx-bin)
|
||||||
|
on Docker Hub. Refer the [Buildx section](http://docs.docker.com/go/buildx/) for
|
||||||
|
detailed instructions on installing the Buildx component.
|
||||||
|
|
||||||
|
This release marks the beginning of the deprecation cycle of the classic ("legacy")
|
||||||
|
builder for Linux images. No active development will happen on the classic builder
|
||||||
|
(except for bugfixes). BuildKit development started five Years ago, left the
|
||||||
|
"experimental" phase since Docker 18.09, and is already the default builder for
|
||||||
|
[Docker Desktop](https://docs.docker.com/desktop/mac/release-notes/3.x/#docker-desktop-320).
|
||||||
|
While we're comfortable that BuildKit is stable for general use, there may be
|
||||||
|
some changes in behavior. If you encounter issues with BuildKit, we encourage
|
||||||
|
you to report issues in the [BuildKit issue tracker on GitHub](https://github.com/moby/buildkit/){:target="_blank" rel="noopener" class="_"}
|
||||||
|
|
||||||
|
> Classic builder for building Windows images
|
||||||
|
>
|
||||||
|
> BuildKit does not (yet) provide support for building Windows images, and
|
||||||
|
> `docker build` continues to use the classic builder to build native Windows
|
||||||
|
> images on Windows daemons.
|
||||||
|
|
||||||
### Legacy builder fallback
|
### Legacy builder fallback
|
||||||
|
|
||||||
**Deprecated in Release: v21.xx**
|
**Deprecated in Release: v21.xx**
|
||||||
|
|
||||||
BuildKit implementation code and linked build flags have been removed in the CLI
|
[Docker v21.xx now uses BuildKit by default to build Linux images](#legacy-builder-for-linux-images),
|
||||||
and are now forwarded to [Buildx](https://docs.docker.com/buildx/working-with-buildx/)
|
which requires the Buildx component to build images with BuildKit. There may be
|
||||||
builder component.
|
situations where the Buildx component is not available, and BuildKit cannot be
|
||||||
|
used.
|
||||||
|
|
||||||
If Buildx plugin is missing or broken, build command will fall back to the
|
To provide a smooth transition to BuildKit as the default builder, Docker v21.xx
|
||||||
legacy builder. This fallback mechanism will be removed in a future release and
|
has an automatic fallback for some situations, or produces an error to assist
|
||||||
user prompted to install the Buildx plugin.
|
users to resolve the problem.
|
||||||
|
|
||||||
User can always fall back to the legacy builder with `DOCKER_BUILDKIT=0` but
|
In situations where the user did not explicitly opt-in to use BuildKit (i.e.,
|
||||||
`DOCKER_BUILDKIT=1` will always require Buildx.
|
`DOCKER_BUILDKIT=1` is not set), the CLI automatically falls back to the classic
|
||||||
|
builder, but prints a deprecation warning:
|
||||||
|
|
||||||
|
```
|
||||||
|
DEPRECATED: The legacy builder is deprecated and will be removed in a future release.
|
||||||
|
Install the buildx component to build images with BuildKit:
|
||||||
|
https://docs.docker.com/go/buildx/
|
||||||
|
```
|
||||||
|
|
||||||
|
This situation may occur if the `docker` CLI is installed using the static binaries,
|
||||||
|
and the Buildx component is not installed or not installed correctly. This fallback
|
||||||
|
will be removed in a future release, therefore we recommend to [install the Buildx component](https://docs.docker.com/go/buildx/)
|
||||||
|
and use BuildKit for your builds, or opt-out of using BuildKit with `DOCKER_BUILDKIT=0`.
|
||||||
|
|
||||||
|
If you opted-in to use BuildKit (`DOCKER_BUILDKIT=1`), but the Buildx component
|
||||||
|
is missing, an error is printed instead, and the `docker build` command fails:
|
||||||
|
|
||||||
|
```
|
||||||
|
ERROR: BuildKit is enabled but the buildx component is missing or broken.
|
||||||
|
Install the buildx component to build images with BuildKit:
|
||||||
|
https://docs.docker.com/go/buildx/
|
||||||
|
```
|
||||||
|
|
||||||
|
We recommend to [install the Buildx component](https://docs.docker.com/go/buildx/)
|
||||||
|
to continue using BuildKit for your builds, but alternatively, users can either
|
||||||
|
unset the `DOCKER_BUILDKIT` environment variable to fall back to the legacy builder,
|
||||||
|
or opt-out of using BuildKit with `DOCKER_BUILDKIT=0`.
|
||||||
|
|
||||||
|
Be aware that the [classic builder is deprecated](#legacy-builder-for-linux-images)
|
||||||
|
so both the automatic fallback and opting-out of using BuildKit will no longer
|
||||||
|
be possible in a future release.
|
||||||
|
|
||||||
### Support for encrypted TLS private keys
|
### Support for encrypted TLS private keys
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue