Docker Desktop for Apple silicon

Estimated reading time: 4 minutes

Docker Desktop for Mac on Apple silicon is now available as a GA release. This enables you to develop applications with your choice of local development environments, and extends development pipelines for ARM-based applications.

Docker Desktop for Apple silicon also supports multi-platform images, which allows you to build and run images for both x86 and ARM architectures without having to set up a complex cross-compilation development environment. Additionally, you can use docker buildx to seamlessly integrate multi-platform builds into your build pipeline, and use Docker Hub to identify and share repositories that provide multi-platform images.

Download Docker Desktop for Mac on Apple silicon:

Download Docker Desktop

Mac with Apple chip


System requirements

You must install Rosetta 2 as some binaries are still Darwin/AMD64. To install Rosetta 2 manually from the command line, run the following command:

$ softwareupdate --install-rosetta

We expect to fix this in a future release.

Known issues

  • Not all images are available for ARM64 architecture. You can add --platform linux/amd64 to run an Intel image under emulation. In particular, the mysql image is not available for ARM64. You can work around this issue by using a mariadb image.

    However, attempts to run Intel-based containers on Apple Silicon machines under emulation can crash as qemu sometimes fails to run the container. In addition, filesystem change notification APIs (inotify) do not work under qemu emulation. Even when the containers do run correctly under emulation, they will be slower and use more memory than the native equivalent.

    In summary, running Intel-based containers on Arm-based machines should be regarded as “best effort” only. We recommend running arm64 containers on Apple Silicon machines whenever possible, and encouraging container authors to produce arm64, or multi-arch, versions of their containers. We expect this issue to become less common over time, as more and more images are rebuilt supporting multiple architectures.

  • ping from inside a container to the Internet does not work as expected. To test the network, we recommend using curl or wget. See docker/for-mac#5322.
  • Users may occasionally experience data drop when a TCP stream is half-closed.

Fixes since Docker Desktop RC 3

  • Docker Desktop now ensures the permissions of /dev/null and other devices are correctly set to 0666 (rw-rw-rw-) inside --privileged containers. Fixes docker/for-mac#5527.
  • Docker Desktop now reduces the idle CPU consumption.

Fixes since Docker Desktop RC 2

Fixes since Docker Desktop RC 1

Fixes since Docker Desktop preview 3.1.0

  • The build should update automatically to future versions.
  • HTTP proxy support is working, including support for domain name based no_proxy rules via TLS SNI. Fixes docker/for-mac#2732.

Fixes since the Apple Silicon preview 7

  • Kubernetes now works (although you might need to reset the cluster in our Troubleshoot menu one time to regenerate the certificates).
  • osxfs file sharing works.
  • The host.docker.internal and vm.docker.internal DNS entries now resolve.
  • Removed hard-coded IP addresses: Docker Desktop now dynamically discovers the IP allocated by macOS.
  • The updated version includes a change that should improve disk performance.
  • The Restart option in the Docker menu works.

Feedback

Your feedback is important to us. Let us know your feedback by creating an issue in the Docker Desktop for Mac GitHub repository.

We also recommend that you join the Docker Community Slack and ask questions in #docker-desktop-mac channel.

Docker Desktop, M1, Silicon, Apple