Docker Desktop 4.20 Docker Engine and CLI Updated to Moby 24.0

December 8, 2025 · 547 words · 3 min

We are happy to announce the major release of Moby 24.0 in . We have dedicated significant effort t

We are happy to announce the major release of Moby 24.0 in . We have dedicated significant effort to this release, marking a major milestone in the . This effort began in September of last year when we announced we were . Since then, we have continued working on the image store integration and contributing this work to the Moby project.  In this release, we are adding support for image history, pulling images from private repositories, image importing, and support for the classic builder when using the image store. To explore and test these new features, activate the option in the panel within the (Figure 1).  When enabling this feature, you will notice your existing images are no longer listed, but there’s no need to worry. The image store functions differently from the classic store, and you can only view one of them at a time. Images in the classic store can be accessed again by disabling the feature. On the other hand, if you want to transfer your existing images to the new store, simply push your images to the Docker Hub using the command . Then, activate the store in the Settings and pull the image using . You can read all bug fixes and enhancements in the . BuildKit v0.11 helps you secure your software supply chain by allowing you to add an SBOM (Software Bill of Materials) and in the SLSA format to your container images. This can be done with the container driver as described in the blog post or by enabling the and following the steps in the . In version 4.20, you can use the command to preview the configuration of your upcoming build or view a list of available build targets in your Dockerfile. This is particularly beneficial when dealing with multi-stage Dockerfiles or when diving into new projects. When you run the build command, it processes your Dockerfile, evaluates all environment variables, and determines reachable build stages, but stops before running the build steps. You can use to get detailed information on all build arguments, secrets, and SSH forwarding keys, along with their current values. Alternatively, use to list all the possible stages that can be built with the flag. We also aim to present textual descriptions for these elements by parsing the comments in your Dockerfile. Currently, you need to define environment variable to use the flag (Figure 2). Check out the for more updates, such as loading images from on-disk OCI layout and improved Git source and checksum validation for ADD commands in the . Read the blog post to learn more. In our continued efforts to make better for developer workflows, we’re addressing a long-standing . You can now dry run any Compose command by adding a flag ( ). This gives you insight on what exactly Compose will generate or execute so nothing unexpected happens. We’re also excited to highlight contributions from the community, such as by , which generates a graph of your stack, with details like networks and ports. Try on your project to check out your own graph. Check out the for a full breakdown of what’s new in the latest release.