Native Docker Containers for Windows 10 Announced

Containers have had some of their earliest uptake among developers, as they're extremely lightweight, scalable and easy to destroy and create. And now the leading container company, Docker, has made it easier to do that development on Windows and Mac platforms.

It's done this by developing software that will allow Windows 10 and Apple machine users to use its native container platform as a packaged native application. Last week, Docker announced the beta of Docker for Mac and Windows, which it's offering as a "limited" beta with GA planned for later in the year.

The new Docker for Mac and Docker for Windows are expected to offer a faster and more reliable native experience without requiring VirtualBox VM extensions. The improvements are the result of work between Docker, Apple and Microsoft engineers to provide the OS integration and allow for host-native hypervisor support, specifically Apple Hypervisor and Microsoft's Hyper-V.

"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," wrote engineer Patrick Chanezon, who last year left Microsoft to join Docker. "You don't need a Docker machine to run Docker for Mac and Windows." Chanezon said the new releases will also make it easier to run containers on local host networks. "Docker for Mac and Windows include a DNS server for containers, and are integrated with the Mac OS X and Windows networking system," he noted.

The new software is primarily aimed at developers and will let them build, test and deliver programs that can run as native Mac and Windows apps from the system toolbar like packaged applications from app stores.

"Docker for Mac and Windows reflects deep OS system-level work from our Unikernel Systems team and demonstrates how, moving forward, we can leverage native platform capabilities to provide users with the same optimized Docker experience on all platforms," said Solomon Hykes, Docker's founder, CTO and chief product officer, in a statement announcing the release. "These integrated software packages are designed to remove an additional layer of 'dependency hell' for Mac and Windows developers by allowing them to develop directly inside a container."

By removing the need for developers to run OS and language-specific dependencies, they can build their programs with one tool, facilitating testing and overall deployment of containerized apps. That, Docker is hoping, will make it easier for developers to ship "Dockerized" apps directly from their machine registries and allowing them to mount application code and other components into a volume. This is also important because apps automatically refresh when code changes are made.

Based on the system requirements, the new Docker clients appear to be aimed at serious business apps. The Docker for Windows client requires Windows 10 Pro (1511 November update, Build 10586) or later. The Hyper-V and Docker for Mac client must run on a system built in 2010 or later running at least OS X 10.3 Yosemite.

While the Mac and Windows clients share a significant amount of code, the two are at different stages of development, according to Chanezon. "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," he noted. The company now has a list for those wanting to sign up to test the software.

About the Author

Jeffrey Schwartz is editor of Redmond magazine and also covers cloud computing for Virtualization Review's Cloud Report. In addition, he writes the Channeling the Cloud column for Redmond Channel Partner. Follow him on Twitter @JeffreySchwartz.