Last week, during the Docker Community All Hands, we announced the availability of a developer preview of Docker Desktop for Macs running on M1 through the Docker Developer Preview Program. We already have more than 1,000 people testing these builds as of today. If you’re interested in joining the program for future releases you should do it today!
As I’m sure you know by now, Apple has recently shipped the first Macs based on the new Apple M1 chips. Last month my colleague Ben shared our roadmap for building a Docker Desktop that runs on this new hardware. And I’m delighted to tell you that today we have a public preview that you can download and try out.
Like many of you, we at Docker have been super excited to receive and code with these new computers: they just feel so fast! We also know that Docker Desktop is a key part of the development cycle for over 3M developers using Docker Desktop with over half of you on Macs. To support all our Mac users we’ve been working hard to get Docker Desktop ready to run on the new M1 hardware. It is not release quality yet, or even beta quality, but we have an early preview build and we wanted to let you try it as soon as possible.
How We Got to a Technical Preview
When Ben announced that we were working on adapting Docker Desktop on this new hardware. We had roughly 3 engineering challenges to tackle to get this release out to you:
- Migrate from HyperKit to the Virtualization Framework.
One of the key challenges for the Docker Desktop team was to replace HyperKit, which Docker open sourced back in 2016, with the Virtualization Framework provided by Apple which was included in macOS Big Sur.
- Recompile all the various binaries of Docker Desktop in native arm.
Many of the tools that we use in our toolchain to build these binaries are not yet ready to support the M1 Mac as of today. At Docker, we use the Go language extensively, and Docker Desktop is no exception. The Go language will support Apple Silicon in their 1.16 release which is targeted for February 2021.
- Have enough hardware to reliably run continuous deployment on M1 macs.
The Docker Desktop team relies heavily on automated testing through continuous integration to ensure the quality of our releases. Until this week our continuous integration could not be set up because none of our partners had enough M1 machines yet. Fortunately, we are working with MacStadium and we are setting up new M1 Macs on our CI system.
Thanks to the significant progress we have been able to make on the first two steps, we are sharing a Tech Preview of Docker Desktop for M1 today. Download it here!
Multi-Platform Baked In
Many developers are going to experience multi-platform development for the first time with the M1 Macs. This is one of the key areas where Docker shines. Docker has had support for multi-platform images for a long time, meaning that you can build and run both x86 and ARM images on Desktop today. The new Docker Desktop on M1 is no exception; you can build and run images for both x86 and Arm architectures without having to set up a complex cross-compilation development environment.
Docker Hub also makes it easy to identify and share repositories that provide multi-platform images.
And finally, using docker buildx you can also easily integrate multi-platform builds into your build pipeline.
Try the M1 Preview Today
Right on time for the year-end festivities, we’re excited to share with you our M1 Preview:
Here is the Download!
Keep in mind that this is a preview release: it may break, it has not been tested as thoroughly as our normal releases and ‘here be dragons’. Your help is needed to test Docker Desktop on Apple Silicon so that we can continue to provide a great developer experience on all Apple devices. You can help us by providing bug reports on docker/for-mac. We will use this feedback to help us improve and iterate on both the Desktop product and the multi-architecture experience as we aim to provide a GA build of Docker Desktop in the first quarter of 2021.
In the meantime, enjoy this tech preview build of Docker Desktop for M1. Happy Holidays!