28 KiB
| title | description | keywords | toc_min | toc_max |
|---|---|---|---|---|
| Docker Engine 24.0 release notes | Learn about the new features, bug fixes, and breaking changes for Docker Engine | docker, docker engine, ce, whats new, release notes | 1 | 2 |
This page describes the latest changes, additions, known issues, and fixes for Docker Engine version 24.0.
For more information about:
- Deprecated and removed features, see Deprecated Engine Features.
- Changes to the Engine API, see Engine API version history.
24.0.9
{{< release-date date="2024-01-31" >}}
For a full list of pull requests and changes in this release, refer to the relevant GitHub milestones:
Security
This release contains security fixes for the following CVEs affecting Docker Engine and its components.
| CVE | Component | Fix version | Severity |
|---|---|---|---|
| CVE-2024-21626 | runc | 1.1.12 | High, CVSS 8.6 |
| CVE-2024-24557 | Docker Engine | 24.0.9 | Medium, CVSS 6.9 |
Important
Note that this release of Docker Engine doesn't include fixes for the following known vulnerabilities in BuildKit:
To address these vulnerabilities, upgrade to Docker Engine v25.0.2. { .important }
For more information about the security issues addressed in this release, and the unaddressed vulnerabilities in BuildKit, refer to the blog post.
For details about each vulnerability, see the relevant security advisory:
Packaging updates
- Upgrade runc to v1.1.12. moby/moby#47269
- Upgrade containerd to v1.7.13 (static binaries only). moby/moby#47280
24.0.8
{{< release-date date="2024-01-25" >}}
For a full list of pull requests and changes in this release, refer to the relevant GitHub milestones:
Bug fixes and enhancements
- Live restore: Containers with auto remove (
docker run --rm) are no longer forcibly removed on engine restart. moby/moby#46857
Packaging updates
- Upgrade Go to
go1.20.13. moby/moby#47054, docker/cli#4826, docker/docker-ce-packaging#975 - Upgrade containerd (static binaries only) to v1.7.12 moby/moby#47096
- Upgrade runc to v1.1.11. moby/moby#47010
24.0.7
{{< release-date date="2023-10-27" >}}
For a full list of pull requests and changes in this release, refer to the relevant GitHub milestones:
Bug fixes and enhancements
- Write overlay2 layer metadata atomically. moby/moby#46703
- Fix "Rootful-in-Rootless" Docker-in-Docker on systemd version 250 and later. moby/moby#46626
- Fix
dockerd-rootless-setuptools.shwhen username contains a backslash. moby/moby#46407 - Fix a bug that would prevent network sandboxes to be fully deleted when stopping containers with no network attachments and when
dockerd --bridge=noneis used. moby/moby#46702 - Fix a bug where cancelling an API request could interrupt container restart. moby/moby#46697
- Fix an issue where containers would fail to start when providing
--ip-rangewith a range larger than the subnet. docker/for-mac#6870 - Fix data corruption with zstd output. moby/moby#46709
- Fix the conditions under which the container's MAC address is applied. moby/moby#46478
- Improve the performance of the stats collector. moby/moby#46448
- Fix an issue with source policy rules ending up in the wrong order. moby/moby#46441
Packaging updates
- Add support for Fedora 39 and Ubuntu 23.10. docker/docker-ce-packaging#940, docker/docker-ce-packaging#955
- Fix
docker.socketnot getting disabled when uninstalling thedocker-ceRPM package. docker/docker-ce-packaging#852 - Upgrade Go to
go1.20.10. docker/docker-ce-packaging#951 - Upgrade containerd to
v1.7.6(static binaries only). moby/moby#46103 - Upgrade the
containerd.iopackage tov1.6.24.
Security
-
Deny containers access to
/sys/devices/virtual/powercapby default. This change hardens against CVE-2020-8694, CVE-2020-8695, and CVE-2020-12912, and an attack known as the PLATYPUS attack.
24.0.6
{{< release-date date="2023-09-05" >}}
For a full list of pull requests and changes in this release, refer to the relevant GitHub milestones:
Bug fixes and enhancements
- containerd storage backend: Fix
docker psfailing when a container image is no longer present in the content store. moby/moby#46095 - containerd storage backend: Fix
docker ps -s -aanddocker container prunefailing when a container image config is no longer present in the content store. moby/moby#46097 - containerd storage backend: Fix
docker inspectfailing when a container image config is no longer (or was never) present in the content store. moby/moby#46244 - containerd storage backend: Fix diff and export with the
overlayfssnapshotter by using reference-counted rootfs mounts. moby/moby#46266 - containerd storage backend: Fix a misleading error message when the image platforms available locally do not match the desired platform. moby/moby#46300
- containerd storage backend: Fix the
FROM scratchDockerfile instruction with the classic builder. moby/moby#46302 - containerd storage backend: Fix
mismatched image rootfs and manifest layerserrors with the classic builder. moby/moby#46310 - Warn when pulling Docker Image Format v1, and Docker Image manifest version 2, schema 1 images from all registries. moby/moby#46290
- Fix live-restore of volumes with custom volume options. moby/moby#46366
- Fix incorrectly dropping capabilities bits when running a container as a non-root user (note: this change was already effectively present due to a regression). moby/moby#46221
- Fix network isolation iptables rules preventing IPv6 Neighbor Solicitation packets from being exchanged between containers. moby/moby#46214
- Fix
dockerd.exe --register-servicenot working when the binary is in the current directory on Windows. moby/moby#46215 - Add a hint suggesting the use of a PAT to
docker loginagainst Docker Hub. docker/cli#4500 - Improve shell startup time for users of Bash completion for the CLI. docker/cli#4517
- Improve the speed of some commands by skipping
GET /_pingwhen possible. docker/cli#4508 - Fix credential scopes when using a PAT to
docker manifest inspectan image on Docker Hub. docker/cli#4512 - Fix
docker eventsnot supporting--format=json. docker/cli#4544
Packaging updates
- Upgrade Go to
go1.20.7. moby/moby#46140, docker/cli#4476, docker/docker-ce-packaging#932 - Upgrade containerd to
v1.7.3(static binaries only). moby/moby#46103 - Upgrade Compose to
v2.21.0. docker/docker-ce-packaging#936
24.0.5
{{< release-date date="2023-07-24" >}}
For a full list of pull requests and changes in this release, refer to the relevant GitHub milestones:
Bug fixes and enhancements
- The Go client now avoids using UNIX socket paths in the HTTP
Host:header, in order to be compatible with changes introduced ingo1.20.6. moby/moby#45962, moby/moby#45990 - containerd storage backend: Fix
Variantnot being included indocker image inspectandGET /images/{name}/json. moby/moby#46025 - containerd storage backend: Prevent potential garbage collection of content during image export. moby/moby#46021
- containerd storage backend: Prevent duplicate digest entries in
RepoDigests. moby/moby#46014 - containerd storage backend: Fix operations taking place against the incorrect tag when working with an image referenced by tag and digest. moby/moby#46013
- containerd storage backend: Fix a panic caused by
EXPOSEwhen building containers with the legacy builder. moby/moby#45921 - Fix a regression causing unintuitive errors to be returned when attempting to create an
overlaynetwork on a non-Swarm node. moby/moby#45974 - Properly report errors parsing volume specifications from the command line. docker/cli#4423
- Fix a panic caused when
auths: nullis found in the CLI config file. docker/cli#4450
Packaging updates
- Use init scripts as provided by in moby/moby
contrib/init. docker/docker-ce-packaging#914, docker/docker-ce-packaging#926 - Drop Upstart from
contrib/init. moby/moby#46044 - Upgrade Go to
go1.20.6. docker/cli#4428, moby/moby#45970, docker/docker-ce-packaging#921 - Upgrade Compose to
v2.20.2. docker/docker-ce-packaging#924 - Upgrade buildx to
v0.11.2. docker/docker-ce-packaging#922
24.0.4
{{< release-date date="2023-07-07" >}}
For a full list of pull requests and changes in this release, refer to the relevant GitHub milestones:
Bug fixes and enhancements
- Fix a regression introduced during 24.0.3 that causes a panic during live-restore of containers with bind mounts. moby/moby#45903
24.0.3
{{< release-date date="2023-07-06" >}}
For a full list of pull requests and changes in this release, refer to the relevant GitHub milestones:
Bug fixes and enhancements
- containerd image store: Fix an issue where multi-platform images that did not include a manifest for the default platform could not be interacted with. moby/moby#45849
- containerd image store: Fix specious attempts to cache
FROM scratchin container builds. moby/moby#45822 - containerd image store: Fix
docker cpwith snapshotters that cannot mount the same content multiple times. moby/moby#45780, moby/moby#45786 - containerd image store: Fix builds with
type=imagenot being correctly unpacked/stored. moby/moby#45692 - containerd image store: Fix incorrectly attempting to unpack pseudo-images (including attestations) in
docker load. moby/moby#45688 - containerd image store: Correctly set the user agent, and include additional information like the snapshotter when interacting with registries. moby/moby#45671, moby/moby#45684
- containerd image store: Fix a failure to unpack already-pulled content after switching between snapshotters. moby/moby#45678
- containerd image store: Fix images that have been re-tagged or with all tags removed being pruned while still in use. moby/moby#45857
- Fix a Swarm CSI issue where the Topology field was not propagated into NodeCSIInfo. moby/moby#45810
- Fix failures to add new Swarm managers caused by a very large raft log. moby/moby#45703, moby/swarmkit#3122, moby/swarmkit#3128
name_to_handle_at(2)is now always allowed in the default seccomp profile. moby/moby#45833- Fix an issue that prevented encrypted Swarm overlay networks from working on ports other than the default (4789). moby/moby#45637
- Fix a failure to restore mount reference-counts during live-restore. moby/moby#45824
- Fix various networking-related failures during live-restore. moby/moby#45658, moby/moby#45659
- Fix running containers restoring with a zero (successful) exit status when the daemon is unexpectedly terminated. moby/moby#45801
- Fix a potential panic while executing healthcheck probes. moby/moby#45798
- Fix a panic caused by a race condition in container exec start. moby/moby#45794
- Fix an exception caused by attaching a terminal to an exec with a non-existent command. moby/moby#45643
- Fix
host-gatewaywith BuildKit by passing the IP as a label (also requires docker/buildx#1894). moby/moby#45790 - Fix an issue where
POST /containers/{id}/stopwould forcefully terminate the container when the request was canceled, instead of waiting until the specified timeout for a 'graceful' stop. moby/moby#45774 - Fix an issue where
docker cp -afrom the root (/) directory would fail. moby/moby#45748 - Improve compatibility with non-runc container runtimes by more correctly setting resource constraint parameters in the OCI config. moby/moby#45746
- Fix an issue caused by overlapping subuid/subgid ranges in certain configurations (e.g. LDAP) in rootless mode. moby/moby#45747, rootless-containers/rootlesskit#369
- Greatly reduce CPU and memory usage while populating the Debug section of
GET /info. moby/moby#45856 - Fix an issue where debug information was not correctly printed during
docker infowhen only the client is in debug mode. docker/cli#4393 - Fix issues related to hung connections when connecting to hosts over a SSH connection. docker/cli#4395
Packaging updates
- Upgrade Go to
go1.20.5. moby/moby#45745, docker/cli#4351, docker/docker-ce-packaging#904 - Upgrade Compose to
v2.19.1. docker/docker-ce-packaging#916 - Upgrade buildx to
v0.11.1. docker/docker-ce-packaging#918
24.0.2
{{< release-date date="2023-05-26" >}}
For a full list of pull requests and changes in this release, refer to the relevant GitHub milestones:
Bug fixes and enhancements
- Fix a panic during build when referencing locally tagged images. moby/buildkit#3899, moby/moby#45582
- Fix builds potentially failing with
exit code: 4294967295when performing many concurrent build stages. moby/moby#45620 - Fix DNS resolution on Windows ignoring
etc/hosts(%WINDIR%\System32\Drivers\etc\hosts), including resolution oflocalhost. moby/moby#45562 - Apply a workaround for a containerd bug that causes concurrent
docker execcommands to take significantly longer than expected. moby/moby#45625 - containerd image store: Fix an issue where the image
Createdfield would contain an incorrect value. moby/moby#45623 - containerd image store: Adjust the output of image pull progress so that the output has the same format regardless of whether the containerd image store is enabled. moby/moby#45602
- containerd image store: Switching between the default and containerd image store now requires a daemon restart. moby/moby#45616
Packaging updates
- Upgrade Buildx to
v0.10.5. docker/docker-ce-packaging#900
24.0.1
{{< release-date date="2023-05-19" >}}
For a full list of pull requests and changes in this release, refer to the relevant GitHub milestones:
Removed
- Remove CLI completions for storage drivers removed in the 24.0 major release. docker/cli#4302
Bug fixes and enhancements
- Fix an issue where DNS query NXDOMAIN replies from external servers were forwarded to the client as SERVFAIL. moby/moby#45573
- Fix an issue where
docker pull --platformwould reportNo such imageregarding another tag pointing to the same image. moby/moby#45562 - Fix an issue where insecure registry configuration would be forgotten during config reload. moby/moby#45571
- containerd image store: Fix an issue where images which have no layers would not be listed in
docker images -amoby/moby#45588 - API: Fix an issue where
GET /images/{id}/jsonwould returnnullinstead of emptyRepoTagsandRepoDigests. moby/moby#45564 - API: Fix an issue where
POST /commitdid not accept an empty request body. moby/moby#45568
Packaging updates
- Upgrade Compose to
v2.18.1. docker/docker-ce-packaging#896
24.0.0
{{< release-date date="2023-05-16" >}}
For a full list of pull requests and changes in this release, refer to the relevant GitHub milestones:
New
- Introduce experimental support for containerd as the content store (replacing the existing storage drivers). moby/moby#43735, other moby/moby pull requests
- The
--hostCLI flag now supports a path component in assh://host address, allowing use of an alternate socket path without configuration on the remote host. docker/cli#4073 - The
docker infoCLI command now reports a version and platform field. docker/cli#4180 - Introduce the daemon flag
--default-network-optto configure options for newly created networks. moby/moby#43197 - Restrict access to
AF_VSOCKin thesocket(2)family of syscalls in the default seccomp profile. moby/moby#44562 - Introduce support for setting OCI runtime annotations on containers. docker/cli#45025, moby/moby#45025
- Alternative runtimes can now be configured in
daemon.json, enabling runtime names to be aliased and options to be passed. moby/moby#45032 - The
docker-initbinary will now be discovered in FHS-compliant libexec directories, in addition to thePATH. moby/moby#45198 - API: Surface the daemon-level
--no-new-privilegesinGET /info. moby/moby#45320
Removed
docker infono longer reportsIndexServiceAddress. docker/cli#4204- libnetwork: Remove fallback code for obsolete kernel versions. moby/moby#44684, moby/moby#44802
- libnetwork: Remove unused code related to classic Swarm. moby/moby#44965
- libnetwork: Remove usage of the
xt_u32kernel module from encrypted Swarm overlay networks. moby/moby#45281 - Remove support for BuildKit's deprecated
buildinfoin favor of standard provenance attestations. moby/moby#45097 - Remove the deprecated AUFS and legacy
overlaystorage drivers. moby/moby#45342, moby/moby#45359 - Remove the deprecated
overlay2.override_kernel_checkstorage driver option. moby/moby#45368 - Remove workarounds for obsolete versions of
apparmor_parserfrom the AppArmor profiles. moby/moby#45500 - API:
GET /images/jsonno longer represents empty RepoTags and RepoDigests as<none>:<none>/<none>@<none>. Empty arrays are returned instead on API >= 1.43. moby/moby#45068
Deprecated
- Deprecate the
--oom-score-adjustdaemon option. moby/moby#45315 - API: Deprecate the
VirtualSizefield inGET /images/jsonandGET /images/{id}/json. moby/moby#45346
Bug fixes and enhancements
- The
docker stackcommand no longer validates thebuildsection of Compose files. docker/cli#4214 - Fix lingering healthcheck processes after the timeout is reached. moby/moby#43739
- Reduce the overhead of container startup when using the
overlay2storage driver. moby/moby#44285 - API: Handle multiple
before=andsince=filters inGET /images. moby/moby#44503 - Fix numerous bugs in the embedded DNS resolver implementation used by user-defined networks. moby/moby#44664
- Add
execDurationfield to the map of event attributes. moby/moby#45494 - Swarm-level networks can now be created with the Windows
internal,l2bridge, andnatdrivers. moby/swarmkit#3121, moby/moby#45291
Packaging updates
- Update Go to
1.20.4. docker/cli#4253, moby/moby#45456, docker/docker-ce-packaging#888 - Update
containerdtov1.7.1. moby/moby#45537 - Update
buildkittov0.11.6. moby/moby#45367