Docker Desktop for Mac 3.x release notes
This page contains release notes for Docker Desktop for Mac 3.x.
Docker Desktop 3.6.0
2021-08-11
New
- Dev Environments: You can now create a Dev Environment from your local Git repository.
- Volume Management: You can now sort volumes by the name, the date created, and the size of the volume. You can also search for specific volumes using the Search field. For more information, see Explore volumes.
Upgrades
- Compose V2 RC1
- Docker compose command line completion.
- Allow setting 0 scale/replicas.
- Detect new container on logs —follow.
- Go 1.16.7
- Docker Engine 20.10.8
- containerd v1.4.9
- runc v1.0.1
- Kubernetes 1.21.3
- Linux kernel 5.10.47
Bug fixes and minor changes
- Update kernel configuration to fix a performance regression in Docker Desktop 3.0.0 that caused publishing container ports to take 10 times longer than on older versions. For more information, see linuxkit/linuxkit#3701 and docker/for-mac#5668.
- Fixed a bug where the DNS server would fail after receiving an unexpectedly large datagram.
- Fixed an issue related to hardware acceleration docker/for-mac#5121
- Fixed an issue related to Skip This Update for mac docker/for-mac#5842
Docker Desktop 3.5.2
2021-07-08
New
Dev Environments Preview: Dev Environments enable you to seamlessly collaborate with your team members without moving between Git branches to get your code onto your team members' machines. When using Dev Environments, you can share your in-progress work with your team members in just one click, and without having to deal with any merge conflicts. For more information and for instructions on how to use Dev Environments, see Development Environments Preview.
Upgrades
compose run
andcompose exec
commands use separate streams for stdout and stderr. See docker/compose-cli#1873.compose run
andcompose exec
commands support detach keys. Fixes docker/compose-cli#1709.- Fixed
--force
and--volumes
flags oncompose rm
command. See docker/compose-cli#1844. - Fixed network's IPAM configuration. Service can define a fixed IP. Fixes for docker/compose-cli#1678 and docker/compose-cli#1816
Dev Environments
- Support VS Code Insiders. See dev-environments#3
- Allow users to specify a branch when cloning a project. See dev-environments#11
Bug fixes and minor changes
- Dev Environments: Fixed a blank screen in some create and remove scenarios. Fixes dev-environments#4
- Dev Environments: Fixed error handling when removing an environment. Fixes dev-environments#8
- Dev Environments: The Start, Stop, and Share buttons are disabled while an environment is being created or removed.
- Fixed a connection leak when using
virtualization.framework
and not usingvpnkit
. - Fixed spurious traces on iptables updates.
- Fixed a delay when adding a multiple port forwarding option.
Docker Desktop 3.5.1
2021-06-25
New
Dev Environments Preview: Dev Environments enable you to seamlessly collaborate with your team members without moving between Git branches to get your code onto your team members' machines. When using Dev Environments, you can share your in-progress work with your team members in just one click, and without having to deal with any merge conflicts. For more information and for instructions on how to use Dev Environments, see Development Environments Preview.
Compose V2 beta: Docker Desktop now includes the beta version of Compose V2, which supports the docker compose
command as part of the Docker CLI. While docker-compose
is still supported and maintained, Compose V2 implementation relies directly on the compose-go bindings which are maintained as part of the specification. The compose command in the Docker CLI supports most of the docker-compose
commands and flags. It is expected to be a drop-in replacement for docker-compose
. There are a few remaining flags that have yet to be implemented, see the
docker-compose compatibility list for more information about the flags that are supported in the new compose command. If you run into any problems with Compose V2, you can easily switch back to Compose v1 by either by making changes in Docker Desktop Experimental Settings, or by running the command docker-compose disable-v2
. Let us know your feedback on the new ‘compose’ command by creating an issue in the
Compose-CLI GitHub repository.
Bug fixes and minor changes
- Fixed a link to the policy that provides details on how Docker handles the uploaded diagnostics data. Fixes docker/for-mac#5741
Docker Desktop 3.5.0
2021-06-23
New
Dev Environments Preview: Dev Environments enable you to seamlessly collaborate with your team members without moving between Git branches to get your code onto your team members' machines. When using Dev Environments, you can share your in-progress work with your team members in just one click, and without having to deal with any merge conflicts. For more information and for instructions on how to use Dev Environments, see Development Environments Preview.
Compose V2 beta: Docker Desktop now includes the beta version of Compose V2, which supports the docker compose
command as part of the Docker CLI. While docker-compose
is still supported and maintained, Compose V2 implementation relies directly on the compose-go bindings which are maintained as part of the specification. The compose command in the Docker CLI supports most of the docker-compose
commands and flags. It is expected to be a drop-in replacement for docker-compose
. There are a few remaining flags that have yet to be implemented, see the
docker-compose compatibility list for more information about the flags that are supported in the new compose command. If you run into any problems with Compose V2, you can easily switch back to Compose v1 by either by making changes in Docker Desktop Experimental Settings, or by running the command docker-compose disable-v2
. Let us know your feedback on the new ‘compose’ command by creating an issue in the
Compose-CLI GitHub repository.
Upgrades
- Compose V2 beta
- Fixed a bug where a container cannot be started when a file is bind-mounted into a nested mountpoint. Fixes docker/compose-cli#1795.
- Added support for container links and external links.
- Introduced the
docker compose logs --since --until
option. docker compose config --profiles
now lists all defined profiles.
- From Kubernetes 1.21.1 to Kubernetes 1.21.2
Bug fixes and minor changes
- Volume Management
- Users can now remove a file or directory inside a volume using the Docker Dashboard.
- The Volumes view in Docker Dashboard displays the last modified time and the size of the contents inside a volume.
- Users can save the files and directories inside a volume from Docker Dashboard.
- Fixed a bug that caused Docker to fail to start because
/usr/bin
was not present on thePATH
. Fixes docker/for-mac#5770 - Docker Desktop now allows files to be modified inside a host directory which is a nested mountpoint in a container. Fixes docker/for-mac#5748.
- Fixed a settings migration bug which caused Docker Desktop not to find images and containers data after upgrading to 3.4.0. Fixes docker/for-mac#5754.
- Docker Desktop now highlights the architecture of the non-native images in the Docker Dashboard on Apple Silicon.
- Fix using virtualization.framework on macOS 12 (Monterey).
- The default
docker
CLIcontext
is nowdesktop-linux
. - Show the Docker Desktop Feedback popup only when clicking Docker menu.
Docker Desktop 3.4.0
2021-06-09
New
Volume Management: Docker Desktop users can now create and delete volumes using the Docker Dashboard and also see which volumes are being used. For more information, see Explore volumes.
Compose V2 beta: Docker Desktop now includes the beta version of Compose V2, which supports the docker compose
command as part of the Docker CLI. While docker-compose
is still supported and maintained, Compose V2 implementation relies directly on the compose-go bindings which are maintained as part of the specification. The compose command in the Docker CLI supports most of the docker-compose
commands and flags. It is expected to be a drop-in replacement for docker-compose
. There are a few remaining flags that have yet to be implemented, see the
docker-compose compatibility list for more information about the flags that are supported in the new compose command. If you run into any problems with Compose V2, you can easily switch back to Compose v1 by either by making changes in Docker Desktop Experimental Settings, or by running the command docker-compose disable-v2
. Let us know your feedback on the new ‘compose’ command by creating an issue in the
Compose-CLI GitHub repository.
Skip Docker Desktop updates: All users can now skip an update when they are prompted to install individual Docker Desktop releases.
Deprecation
- Docker Desktop no longer installs Notary. You can now use Docker Content Trust for image signing.
Upgrades
- Docker Engine 20.10.7
- Docker Compose 1.29.2
- Docker Hub Tool v0.4.1
- Compose CLI v1.0.16
- Kubernetes 1.21.1
- containerd v1.4.6
- runc v1.0.0-rc95
- Go 1.16.5
Bug fixes and minor changes
- Prevent
docker run
from hanging if inotify event injection fails. Fixes docker/for-mac#5590. - Fixed error showing stderr log in the UI. Fixes docker/for-mac#5688.
- Fixed an issue which caused
riscv64
emulation to fail on Docker Desktop. Fixes docker/for-mac#5699. - Automatically reclaim space after deleting containers by deleting volumes and removing build cache.
- Docker Desktop now allows a blank HTTP proxy to be configured for the Docker engine, which will completely disable the internal HTTP proxy. See docker/for-mac#2467.
- Docker Compose applications with file names other than
docker-compose.yml
can now be removed from Docker Desktop. Fixes docker/for-win#11046 - Docker Desktop now exposes the host CPU on Apple silicon. Fixes docker/for-mac#5681.
- Avoid leaking open ports bound to privileged ports and specific IPs over engine Restart. Fixes docker/for-mac#5649.
- Use
vpnkit
withvirtualization.framework
to fix connectivity issues with VPN clients such as Cisco AnyConnect. - Fixed version number missing in update dialog window.
- Fixed an issue where the diagnostics were sometimes not uploaded correctly from the Support dialog.
- Fixed DNS entries for
*.docker.internal
and Kubernetes cluster reset after the VM IP changes. Fixes docker/for-mac#5707, docker/for-mac#5680, docker/for-mac#5663 and docker/for-mac#5653. - Avoid running
com.docker.osxfs
when gRPC FUSE is enabled. Fixes docker/for-mac#5725.
Known issues
- On Apple Silicon in native
arm64
containers, older versions oflibssl
indebian:buster
,ubuntu:20.04
andcentos:8
will segfault when connected to some TLS servers, for examplecurl https://dl.yarnpkg.com
. The bug is fixed in newer versions oflibssl
indebian:bullseye
,ubuntu:21.04
andfedora:35
.
Docker Desktop 3.3.3
2021-05-06
Upgrades
Bug fixes and minor changes
- Fixed the diagnostics failing to upload from the Troubleshoot screen.
Docker Desktop 3.3.2
2021-05-03
Upgrades
Bug fixes and minor changes
- Fixed a bug with an Apple chip where the last byte in a network transfer was occasionally lost.
- Fixed a bug where a
metrics-port
defined in the engine'sdaemon.json
blocks application restart. - Fixed a leak of ephemeral ports. Fixes docker/for-mac#5611.
- Emulate a more modern Intel CPU with
qemu
on an Apple chip, for better image compatibility. See docker/for-mac#5561. - Enable buildkit garbage collection by default.
- Fixed a bug which blocked binding to port 123. Fixes docker/for-mac#5589.
- Disable the HTTP and HTTPS transparent proxies when there is no upstream proxy set. Fixes docker/for-mac#5572.
- Revert to the HTTP and HTTPS proxy implementation used in 3.2.2.
- Removed the "Deploy Docker Stacks to Kubernetes by default" Kubernetes setting. The component was removed in 2.4.0.0 but we forgot to remove the setting. Fixes docker/for-mac#4966.
Docker Desktop 3.3.1
2021-04-15
New
Docker Desktop is now available for Apple silicon as well as Intel chips. This enables developers with their choice of local development environments, and extends development pipelines for ARM-based applications. For more information, see Docker Desktop for Apple silicon.
Bug fixes and minor changes
Docker Desktop now ensures the permissions of
/dev/null
and other devices are correctly set to0666
(rw-rw-rw-
) inside--privileged
containers. Fixes docker/for-mac#5527Fixed an issue that caused Docker Desktop to fail during startup when it is unable to establish a connection with Docker Hub in the backend. Fixes docker/for-win#10896
Mac with Apple silicon: Docker Desktop now reduces the idle CPU consumption.
Known issues
Apple silicon
ping
from inside a container to the Internet does not work as expected. To test the network, we recommend usingcurl
orwget
. See docker/for-mac#5322.- Users may occasionally experience data drop when a TCP stream is half-closed.
Docker Desktop 3.3.0
2021-04-08
You can now specify when to download and install a Docker Desktop update. When an update becomes available, Docker Desktop displays an icon to indicate the availability of a newer version. You can download the update in the background whenever convenient. When the download is complete, all you need to do is to click Update and restart to install the latest update.
Developers who use Docker Desktop for professional development purposes may at times need to skip a specific update. For this reason, users with a paid Docker subscription can skip notifications for a particular update when a reminder appears.
For developers in IT managed environments, who don’t have administrative access to install updates to Docker Desktop, there is now an option in the Settings menu to opt out of notifications altogether for Docker Desktop updates if your Docker ID is part of a Team subscription.
Upgrades
- Docker Compose 1.29.0
- Compose CLI v1.0.12
- Linux kernel 5.10.25
- Snyk v1.461.0
- Docker Hub Tool v0.3.1
- containerd v1.4.4
- runc v1.0.0-rc93
Bug fixes and minor changes
- Fixed an issue when viewing compose applications that have been started with an explicit project name. Fixes docker/for-win#10564.
- Fixed a bug that
--add-host host.docker.internal:host-gateway
causedhost.docker.internal
to resolve to the wrong IP address. See docker/for-linux#264. - Fixed a bug that caused inter-container HTTP traffic to be misrouted to the external HTTP proxy. Fixes docker/for-mac#5476.
- Fixed a bug that could cause other files in the same folder as the VM disk to be deleted when the disk was resized. Fixes docker/for-mac#5486.
- Fixed an issue where delta downloads caused an
Illegal instruction exception
. Fixes docker/for-mac#5459. - Apply domain-based HTTPS proxy
no_proxy
rules for encrypted connections. Fixes docker/for-mac#2732. - Fixed missing text in reset to factory defaults dialog. Fixes docker/for-mac#5457.
- Fixed an issue where running a container with a random port on the host caused Docker Desktop dashboard to incorrectly open a browser with port 0, instead of using the allocated port.
- Fixed an issue where pulling an image from Docker Hub using the Docker Desktop dashboard was failing silently.
- Removed unused DNS name
docker.for.mac.http.internal
. - Perform a filesystem check when starting the Linux VM.
- Detect Linux kernel crashes and escalate them to the user.
Docker Desktop 3.2.2
2021-03-15
Bug fixes and minor changes
- Fixed an issue that stopped containers binding to port 53. Fixes docker/for-mac#5416.
- Fixed an issue that 32-bit Intel binaries were emulated on Intel CPUs. Fixes docker/for-win#10594.
- Fixed an issue related to high CPU consumption and frozen UI when the network connection is lost. Fixes for-win/#10563.
- Fixed an issue opening a terminal in iTerm2 when it has no other windows open. Fixes docker/roadmap#98.
Docker Desktop 3.2.1
2021-03-05
Upgrades
Bug fixes and minor changes
- Fixed an issue that sometimes caused Docker Desktop to fail to start after updating to version 3.2.0. Fixes docker/for-mac#5406. If you are still experiencing this issue when trying to update from 3.2.0 to 3.2.1, we recommend that you uninstall 3.2.0 and manually install Docker Desktop 3.2.1.
Docker Desktop 3.2.0
2021-03-01
New
- The Docker Dashboard opens automatically when you start Docker Desktop.
- The Docker Dashboard displays a tip once a week.
- Docker Desktop uses iTerm2 to launch the terminal on the container if it is installed. Otherwise, it launches the default Terminal.App. docker/roadmap#98
- Add experimental support to use the new Apple Virtualization framework (requires macOS Big Sur 11.1 or later)
- BuildKit is now the default builder for all users, not just for new installations. To turn this setting off, go to Preferences > Docker Engine and add the following block to the Docker daemon configuration file:
"features": {
"buildkit": false
}
Upgrades
- Docker Engine 20.10.3
- Docker Compose 1.28.5
- Compose CLI v1.0.9
- Docker Hub Tool v0.3.0
- QEMU 5.0.1
- Amazon ECR Credential Helper v0.5.0
- Alpine 3.13
- Kubernetes 1.19.7
- Go 1.16
Bug fixes and minor changes
- Fixed an issue on the container detail screen where the buttons would disappear when scrolling the logs. Fixes docker/for-mac#5290
- Fixed an issue when port forwarding multiple ports with an IPv6 container network. Fixes docker/for-mac#5247
- Fixed a regression where
docker load
could not use an xz archive anymore. Fixes docker/for-mac#5271 - Fixed a navigation issue in the Containers / Apps view. Fixes docker/for-win#10160
- Fixed container instance view with long container/image name. Fixes docker/for-mac#5290
- Fixed an issue when binding ports on specific IPs. Note: It may now take a bit of time before the
docker inspect
command shows the open ports. Fixes docker/for-mac#4541 - Fixed an issue where an image deleted from the Docker dashboard was still displayed on the Images view.
Known issue
Docker Desktop can sometimes fail to start after updating to version 3.2.0. If you are experiencing this issue, we recommend that you uninstall 3.2.0 and manually install Docker Desktop 3.2.1. See docker/for-mac#5406.
Docker Desktop 3.1.0
2021-01-14
New
- Docker daemon now runs within a Debian Buster based container (instead of Alpine).
Upgrades
Bug fixes and minor changes
- Fixed UI reliability issues when users create or delete a lot of objects in batches.
- Fixed an issue with DNS address resolution in Alpine containers. Fixes docker/for-mac#5020.
- Redesigned the Support UI to improve usability.
Docker Desktop 3.0.4
2021-01-06
Upgrades
Bug fixes and minor changes
- Avoid timeouts during
docker-compose up
by making cache invalidation faster. Fixes docker/for-mac#4957. - Avoid generating a spurious filesystem DELETE event while invalidating caches. Fixes docker/for-mac#5124.
Known issues
- Some DNS addresses fail to resolve within containers based on Alpine Linux 3.13. See docker/for-mac#5020.
Docker Desktop 3.0.3
2020-12-21
Bug fixes and minor changes
- Fixed an issue that caused overlapping volume mounts to fail. Fixes docker/for-mac#5157. However, the fixes for docker/for-mac#4957 and docker/for-mac#5124 have been reverted as a result of this change, so those issues are now present again.
Known issues
- Some DNS addresses fail to resolve within containers based on Alpine Linux 3.13. See docker/for-mac#5020.
- There can be timeouts during docker-compose up if there are several services being started. See docker/for-mac#4957 and docker/for-mac#5124.
Docker Desktop 3.0.2
2020-12-18
### Bug fixes and minor changes
- Avoid timeouts during
docker-compose up
by making cache invalidation faster. Fixes docker/for-mac#4957. - Avoid generating a spurious filesystem DELETE event while invalidating caches. Fixes docker/for-mac#5124.
- It is now possible to share directories in
~/Library
(except Docker Desktop data directories) with a container. Fixes docker/for-mac#5115. - You will now see a performance warning pop-up message if you create a container that shares the
Home
or a userLibrary
directory.
Known issues
- Some DNS addresses fail to resolve within containers based on Alpine Linux 3.13. See docker/for-mac#5020.
Docker Desktop 3.0.1
2020-12-11
Bug fixes and minor changes
- Fixed an issue that caused certain directories not to be mountable into containers. Fixes docker/for-mac#5115. See Known issues below.
Known issues
- It is currently not possible to bind mount files within
~/Library
into a container. See docker/for-mac#5115. - Building an image with BuildKit from a git URL fails when using the form
github.com/org/repo
. To work around this issue, use the formgit://github.com/org/repo
. - Some DNS addresses fail to resolve within containers based on Alpine Linux 3.13. See docker/for-mac#5020.
Docker Desktop 3.0.0
2020-12-10
New
Use of three-digit version number for Docker Desktop releases.
Starting with Docker Desktop 3.0.0, updates are now much smaller as they will be applied using delta patches.
First version of
docker compose
(as an alternative to the existingdocker-compose
). Supports some basic commands but not the complete functionality ofdocker-compose
yet.Supports the following subcommands:
up
,down
,logs
,build
,pull
,push
,ls
,ps
Supports basic volumes, bind mounts, networks, and environment variables
Let us know your feedback by creating an issue in the compose-cli GitHub repository.
Upgrades
Bug fixes and minor changes
- Downgraded the kernel to 4.19.121 to reduce the CPU usage of hyperkit. Fixes docker/for-mac#5044
- Avoid caching bad file sizes and modes when using
osxfs
. Fixes docker/for-mac#5045. - Fixed a possible file sharing error where a file may appear to have the wrong size in a container when it is modified on the host. This is a partial fix for docker/for-mac#4999.
- Removed unnecessary log messages which slow down filesystem event injection.
- Re-enabled the experimental SOCKS proxy. Fixes docker/for-mac#5048.
- Fixed an unexpected EOF error when trying to start a non-existing container with
-v /var/run/docker.sock:
. See docker/for-mac#5025. - Display an error message instead of crashing when the application needs write access on specific directories. See docker/for-mac#5068
Known issues
- Building an image with BuildKit from a git URL fails when using the form
github.com/org/repo
. To work around this issue, use the formgit://github.com/org/repo
. - Some DNS addresses fail to resolve within containers based on Alpine Linux 3.13.