Since June 20th, 2016, Docker for Mac and Windows are now publicly available. You can download them at docker.com/products/overview



To celebrate Docker’s third birthday, today we start a limited availability beta program for Docker for Mac and Docker for Windows, an integrated, easy-to-deploy environment for building, assembling, and shipping applications from Mac or Windows. Docker for Mac and Windows contain many improvements over Docker Toolbox.

Faster and more reliable: no more VirtualBox! The Docker engine is running in an Alpine Linux distribution on top of an xhyve Virtual Machine on Mac OS X or on a Hyper-V VM on Windows, and that VM is managed by the Docker application. You don’t need docker-machine to run Docker for Mac and Windows.

Tools integration: Docker for Mac is a Mac application and Docker for Windows is a Windows application, including a native user interface and auto-update capability. The Docker tool set comes bundled with it: Docker command line, Docker Compose, and Docker Notary command line.

Volume mounting for your code and data: volume data access works correctly, including file change notifications (on Mac inotify now works seamlessly inside containers for volume mounted directories). This enables edit/test cycles for “in container” development.

Easy access to running containers on the local host network: Docker for Mac and Windows include a DNS server for containers, and are integrated with the Mac OS X and Windows networking system. On a Mac, Docker can be used even when connected to a very restrictive corporate VPN.

Docker for Mac was architected from scratch to be able to fit the OS X sandbox security model and we are working closely with Apple to achieve this.

See Docker for Mac and Docker for Windows in action in this video:

Docker for Mac and Windows have already been used by a few private beta testers and they have enhanced developers’ daily workflows.

“The Docker for Mac product has addressed all of these issues for us:

installation has been significantly smoother thanks to the native Mac application and autoupdater

official images now “just work” with the Mac

the new development workflow allows engineers to quickly spin up new versions of services and develop software natively on the mac against them, with everything just working.”

– Mat Clayton, Co-founder, Mixcloud

You can sign up for Docker for Mac and Docker for Windows private beta today. This is a limited availability private beta and signing up will add you to a waiting list. We will add more people from the waiting list on a rolling basis as we get feedback and improve the product quality.

Docker for Mac and Docker for Windows are at different stages of development, although they do share a significant code base. Docker for Windows will initially be rolled out to users at a slower pace but will eventually offer all the same functionality as Docker for Mac. Docker for Windows currently only ships on Windows 10 editions that support Hyper-V.

Making things easy to use and functional takes elaborate engineering work: what makes Docker for Mac and Windows feel native are deep integrations with the host system in terms of virtualization, networking, security and file-systems. These integrations leverage the systems and virtualization expertise of Docker’s recently acquired Unikernel Systems team, as well as the Unikernel-related technologies they developed over the past 5 years: for example, the translator between Linux and Mac OS X networking uses the MirageOS TCP/IP implementation. Expect to see more of that kind of work in the future across the Docker line of products. All of the OS-level integration innovations will be open sourced to the Docker community when these products are made generally available later this year.

As usual with software, we’re building on the shoulders of giants: we would like to thank Apple and Microsoft for their assistance integrating their platforms with Docker, Michael Steil for xhyve, and the Docker product development teams in San Francisco, Cambridge, and Paris.

Learn More about Docker