For the most part, the Docker container phenomenon has been about Linux, with the majority of all deployments on Linux servers. But that could soon be changing as Docker Inc. today is announcing the general availability of Docker Engine on Windows Server 2016, alongside a new commercial support and distribution agreement with Microsoft.
Docker containers rely on the host operating system for certain isolation and process elements in order to run. On Linux, those elements have always been present as part of the operating system, but the same was not true for Windows, which has required several years of joint engineering effort between Docker Inc. and Microsoft.
"It has been a two-year journey," Scott Johnston, chief operating officer at Docker Inc., told eWEEK. "We announced in October 2014 that we would work collaboratively with Microsoft on the open-source Docker Engine, and we've spent the last two years on engineering, technical previews and public betas."
Bringing Docker to Windows was completed in an open-source methodology and not as some form of closed proprietary effort. Johnston said Microsoft had dedicated engineers on its side, working with Docker engineers inside the open-source project in the open on GitHub.
"There was no hall pass or special allowance because they were Microsoft," he said. "They were equal citizens among all the other approximately 2,000 contributors to Docker."
While Docker now runs on both Linux and Windows, that doesn't mean that there is now complete interoperability between workloads running on the two different operating systems.
"You're not going to run a Linux container on a Windows kernel," Johnston said. "But you can have Windows and Linux nodes in a cluster."
The Docker Datacenter platform can be used to orchestrate workloads in a heterogeneous data center, enabling it to deploy and manage workloads to the appropriate node running the right operating systems for the given container.
To date, one route by which Windows users could have deployed Docker was by way of a virtual machine hypervisor. That is, a hypervisor is installed in Windows and then a Linux operating system is installed into the hypervisor, and from there Docker can run. With the general availability of Docker for Windows, the Docker Engine now runs natively on Windows Server 2016 without the need for a hypervisor or Linux. That said, Johnston said Microsoft users can still choose to deploy Docker inside of a Hyper-V hypervisor.
"Windows Server 2016 users can start up Docker as a Windows Server container, which is analogous to a Linux container, where multiple containers benefit from a shared kernel," he said. "Or the container can be started as a Hyper-V container, which provides isolation benefits as well as a dedicated Windows kernel for a particular container."
Going a step beyond just enabling Docker to run on Windows, Microsoft and Docker Inc. now also have a commercial support and distribution agreement for Docker. The agreement makes the commercially supported distribution of Docker Engine available to all Windows 2016 customers for no additional cost. Docker Engine isn't installed by default in Windows Server 2016, but rather is available to administrators as an optional server configuration. Microsoft will be providing the front-line support for the Docker Engine on Windows, with Docker Inc. providing the higher level engineering support.
In addition, Microsoft will be promoting the Docker Datacenter platform as the preferred platform for managing containers.
Docker Inc.'s partnership with Microsoft is similar in many respects to an existing agreement with Hewlett Packard Enterprise (HPE). In June, Docker Inc. announced a partnership with HPE that has Docker being bundled into all shipping HPE servers.
Sean Michael Kerner is a senior editor at eWEEK and InternetNews.com. Follow him on Twitter @TechJournalist.