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.

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 can be used at the same time as Docker Toolbox on the same machine, allowing developers to continue using Toolbox as they evaluate Docker for Mac. On Windows you need to stop Toolbox before using Docker for Windows.

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.”

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.

Docker for Mac and Windows Beta: the simplest way to use Docker on your laptop

Patrick Chanezon is member of technical staff at Docker Inc. He helps to build Docker, an open platform for distributed applications for developers and sysadmins. Software developer and storyteller, he spent 10 years building platforms at Netscape & Sun, then 10 years evangelizing platforms at Google, VMware & Microsoft. His main professional interest is in building and kickstarting the network effect for these wondrous two-sided markets called Platforms. He has worked on platforms for Portals, Ads, Commerce, Social, Web, Distributed Apps, and Cloud. More information is available at linkedin.com/in/chanezon.
Patrick tweets at @chanezon.

79 Responses to “Docker for Mac and Windows Beta: the simplest way to use Docker on your laptop”

Matthias Goetzke

so back to virtualbox for me since hyper-v was a constant pain for me. it disables power management options on my laptops, it interferes with other virtual machine tech required for e.g android development or demo vms running in vmware player etc…

Brett

Not sure if this is what Francis meant, but I would say the same thing, and what I mean is that containers running on a local docker-machine VM expose a port at the VM, not at the Mac host, and an additional layer of forwarding is required to expose those services at the Mac.

A form of this shows up in the demo video, where the browser can just hit "docker.local" rather than the result of `$(docker-machine ip $(docker-machine active))`.

Peter

Mike Lisanke

Is there a reason (beside the obvious) that we need to disable adblockers? Many of us consider ads not just an annoyance but a threat to safe computing. Why does a download page need adblocking disabled???

I had briefly experimented with the docker-machine-xhyve driver recently and noticed that disk IO seemed to be significantly slower than with Virtualbox.

I was seeing about ~800KB/s in xhyve in a random r/w test -vs- ~47MB/s in Vbox. I also noticed a diskutils-helper userland process that was pretty busy. I assume it’s just a lack of something like virtio interface for xhyve.

Have you seen this too? Will this be an issue in the new Docker for mac?

Marco

Just so I am absolutely clear on this, this is about making interaction with a container native to the Host OS, what is running inside the container still has to be linux based, is that correct? From what I can see it certainly looks like this but I teach docker and someone is bound to ask me this. I just want to make sure my facts are straight.

rbq

Will this be the only supported way to run Docker on OS X? As a developer I’d love to use docker-machine + xhyve + Ansible and have no use for a GUI app at all. I’m also quite happy with simply installing/updating Docker via MacPorts just like before.

Jarret Peterson

Nicholas Stein

Thank you so much. My Windows 10 pro machine will not allow me to uninstall Hyper-V. It rolls back upon reboot. That means when I run Toolbox, I get the VirtualBox error. With VirtualBox installed, Hyper-V cannot properly install a Virtual Switch. Catch 22!

So I am trying to get started only using the command line and installing a downloaded version of Linux (Ubuntu) which has more than I want on my Docker machine. Do I really need a full Linux UI just to run a process?

I am really hopeful that this beta will release me from VirtualBox.

BTW, I am getting lots of comments on my BDay3 Tee, and the contest materials, along with the help I received at the Irvine CA meetup have been super helpful. Thank you again.

David Karlsen

Awesome news – the VPN compatibility mode works great! Will the same feature appear on windows soon? I guess windows users are even more affected by VPN problems (corporate hell) – so having it here too would be great!

Adam Herzog

Fernando

Same here, I also signed up 2 days ago and still have not heard anything. Also, will it flat out not let me install if I have Windows 7, or it is just that docker is not supporting the beta for Windows 7?

Erik

I just experienced that Docker filled my OSX disk by logging extensively. So far 140GB in ~/Library/Containers/com.docker.docker/Data/com.docker.driver.amd64-linux with docker.log holding most of the data, but also some in vsudd.log

Torsten

Bjørn Remseth

Question: I'm using the spotify docker-client to connect to docker and then start containers etc. (an orchestration package we've written). With docker machine I could get the hostname, port, cert location etc. from "docker-machine env <machinename>", where do I get that information now?

dropedou

I just installed docker for windows and discovered it broke up virtualbox (VT-x is not available (VERR_VMX_NO_VMX)). Can't the two products coexist? I need to run VMs in VBox for my day to day work, and also wanted to test docker under windows

markl17

Stan Towianski

Hmmm. Well, I tried the docker-machine stuff and that is just too much of a pain to use when it comes to networking if I remember rightly. I had my docker 'user' inside my virtual-machine inside my mac and that extra layer of VM was just a pain. Which user am I now?? which network is it??

So I moved to docker for mac. That would be better; just one level of 'which user am I ?'. I am running into blow out problems though. I have a mac with 16gb and docker 1.12.0-a
I am using the standard Jenkins 2.7.x in docker image. my mac starts up running about 3.8gb. I start jenkins and it goes to 7.9gb I start building 2 jobs and it was hitting about 14gb and sometimes 15gb. problem: 2 or 3 times it just blew out; docker container stopped and it did not release system memory. maybe I need more memory, but right now with 1 job running top says it is at 8.7gb. maybe it does not release memory too well?