Until today, the only practical way to run a Docker container on an Apple Mac OS X or Microsoft Windows desktop was by also running the open-source Oracle VirtualBox application. That is now changing with a new private beta effort debuting March 24 from Docker Inc. that will for the first time easily enable Docker containers to run natively on OS X and Windows.
Currently, the primary way both Windows and OS X desktop users install and run Docker is by way of the Docker Toolbox, which first deploys VirtualBox and then installs a very small footprint Linux operating system, on top of which the Docker Engine is able to run. The use of VirtualBox as an abstraction layer has proved useful in getting Windows and Mac users up and running with Docker, but it also introduces a number of development, integration and performance issues.
“We’re talking now about native Docker apps that can be installed on Mac and Windows,” Patrick Chanezon, chief developer advocate at Docker Inc., told eWEEK. “Docker will be in the desktop toolbar, so it’s easy to see when it’s running.”
Getting Docker to run directly on OS X and Windows required what Chanezon referred to as deep integration with the two desktop operating systems. On Mac OS X, the new native Docker container technology is making use of the Apple Hypervisor Framework. Going half a level deeper, Docker is using the open-source Xhyve project that is part of the Hypervisor Framework as the base virtualization technology on which Docker containers can now run natively in OS X. The Xhyve hypervisor itself is actually a port of the open-source FreeBSD operating system’s bhyve hypervisor.
Docker Inc. engineers worked very closely with Apple on enabling Docker use with Xhyve, according to Chanezon.
“We made a lot of improvements to Xhyve, and we had to do a lot of work to integrate the networking system,” he said.
Helping the Apple integration efforts were engineers from Unikernel Systems, a company that Docker Inc. acquired in January.
“To make Docker run natively on Mac required a lot of deep system engineering,” Chanezon explained.
To get Docker to run natively on Windows, Microsoft’s Hyper-V hypervisor is now being used, instead of relying on VirtualBox.
The new native integrations are initially being made available today as a private beta, Chanezon said. The existing Docker Toolbox technology that relies on VirtualBox is expected to remain available for the foreseeable future as Docker Inc. gets feedback for the beta users of Docker native for Windows and Mac.
By providing developers with a native experience on Windows and Mac, Docker Inc. solves a number of issues that VirtualBox usage introduces, Chanezon emphasized. Among those issues is the fact that by running native, Docker can now more easily work with a user’s virtual private network (VPN). By going native for Mac and Windows, he said Docker Inc. is reaching out to all the developers who aren’t running Linux on their desktops.