In April, Microsoft announced that it was bringing support for Linux Containers to Windows Server. You can read more about that announcement here on Petri. In this Ask the Admin, I’ll look in more detail at the mechanics of how Linux containers will be supported.
DevOps teams have been looking for more flexibility in where they can run Linux containers. Docker supports Windows Containers running on Windows Server but there is no official support for Linux containers.
Docker for Windows
When container support was first announced in Windows Server three years ago, Microsoft made it clear that only Windows Server images would run natively in containers. But Docker for Windows, a community edition app from Docker for Windows 10, supports Linux containers in a Hyper-V Virtual Machine running Moby Linux. This allows developers to work in Windows 10. Paradoxically, Docker for Windows has limited support for Windows Containers and Docker suggests testing Windows Containers on Windows Server 2016. Docker for Windows is not required for Docker support in Windows Server 2016.
Imagine if it were possible to run Linux containers not only on Linux, but on Windows Server, or on any other platform that supports containers. Last year, Docker collaborated with several companies, including Microsoft and the Linux Foundation, to take up the challenge.
Container-Specific Operating Systems
The result of that project is LinuxKit. This is a secure and portable Linux subsystem that provides Linux container functionality. It will be part of the Docker platform. Linux containers can run on operating systems that support containers but do not include Linux out-of-the-box.
LinuxKit is a toolkit, based on Moby Linux, that allows developers to build Linux subsystems with only the required components. LinuxKit daemons and all its dependencies run in containers that can be added as needed. This helps to improve security by reducing the attack surface. It also helps to improve…