Engine v23.0 (original) (raw)

Note

From Docker Engine version 23.0.0, Buildx is distributed in a separate package: docker-buildx-plugin. In earlier versions, Buildx was included in the docker-ce-cli package. When you upgrade to this version of Docker Engine, make sure you update all packages. For example, on Ubuntu:

Refer to theDocker Engine installation instructions for your operating system for more details on upgrading Docker Engine.

This page describes the latest changes, additions, known issues, and fixes for Docker Engine version 23.0.

For more information about:

Starting with the 23.0.0 release, Docker Engine moves away from using CalVer versioning, and starts using theSemVer versioning format. Changing the version format is a stepping-stone towards Go module compatibility, but the repository doesn't yet use Go modules, and still requires using a "+incompatible" version. Work continues towards Go module compatibility in a future release.

2023-05-08

For a full list of pull requests and changes in this release, refer to the relevant GitHub milestones:

Bug fixes and enhancements

Packaging Updates

For a full list of pull requests and changes in this release, refer to the relevant GitHub milestones:

Bug fixes and enhancements

Packaging Updates

For a full list of pull requests and changes in this release, refer to the relevant GitHub milestones:

Bug fixes and enhancements

Packaging Updates

Note

Due to an issue with CentOS 9 Stream's package repositories, packages for CentOS 9 are currently unavailable. Packages for CentOS 9 may be added later, or as part of the next (23.0.4) patch release.

Bug fixes and enhancements

Packaging Updates

For a full list of pull requests and changes in this release, refer to the relevant GitHub milestones:

Bug fixes and enhancements

Packaging

For a full list of pull requests and changes in this release, refer to the relevant GitHub milestones:

Bug fixes and enhancements

Packaging

For a full list of pull requests and changes in this release, refer to the relevant GitHub milestones:

New

Removed

Deprecated

Upgrades

Security

Bug fixes and enhancements

Known issues

apparmor_parser (tracking issue)

Some Debian users have reported issues with containers failing to start after upgrading to the 23.0 branch. The error message indicates that the issue is due to a missing apparmor_parser binary:

The workaround to this issue is to install the apparmor package manually:

BuildKit inline cache (tracking issue)

Attempting to build an image with BuildKit's inline cache feature (e.g. docker build --build-arg BUILDKIT_INLINE_CACHE=1 ., docker buildx build --cache-to type=inline .) will result in the daemon unexpectedly exiting:

The daemon will restart if configured to do so (e.g. via systemd) after such a crash. The only available mitigation in this release is to avoid performing builds with the inline cache feature enabled.

BuildKit with warm cache (tracking issue)

If an image was built with BuildKit on a previous version of the daemon, and is built with a 23.0 daemon, previously cached layers will not be restored correctly. The image may appear to build correctly if no lines are changed in the Dockerfile; however, if partial cache invalidation occurs due to changing some lines in the Dockerfile, the still valid and previously cached layers will not be loaded correctly.

This most often presents as files that should be present in the image not being present in a RUN stage, or any other stage that references files, after changing some lines in the Dockerfile:

To mitigate this, the previous build cache must be discarded. docker builder prune -a will completely empty the build cache, and allow the affected builds to proceed again by removing the mishandled cache layers.

ipvlan networks (tracking issue)

When upgrading to the 23.0 branch, the existence of anyipvlan networks will prevent the daemon from starting:

To mitigate this, affected users can downgrade and remove the network, then upgrade again. Alternatively, the entire network store can be removed, and networks can be recreated after the upgrade. The network store is located at /var/lib/docker/network/files/local-kv.db. If the daemon is using an alternate --data-root, substitute /var/lib/docker for the alternate path.

Kata Containers (tracking issue)

The 23.0 branch brings support for alternate containerd shims, such as io.containerd.runsc.v1 (gVisor) and io.containerd.kata.v2 (Kata Containers).

When using the Kata Containers runtime, exiting an exec session stops the running container, and hangs the connected CLI if a TTY was opened. There is no mitigation at this time beyond avoiding execing into containers running on the Kata runtime.

The root cause of this issue is a long-standing bug in Moby. This will be resolved in a future release. Be advised that support for alternate OCI runtimes is a new feature and that similar issues may be discovered as more users start exercising this functionality.