Experimental support for Microsoft’s Linux containers on Windows (LCOW) feature has been available for Windows Server 1709 via the Docker EE “Preview” release. The same functionality is now available for Windows 10 Fall Creators Update with the release of Docker for Windows 17.11. In fact, it’s been available since Docker for Windows 17.10.
How to get it
Docker for Windows 17.11 is an Edge channel release. If your copy of Docker for Windows is set to the Edge or Nightly channel you will receive the update automatically. Users on the Stable channel will need to switch to Edge via the Setting dialog to receive the update.
Doesn’t Docker for Windows already run Linux containers?
That’s right. Docker for Windows can run Linux or Windows containers, with support for Linux containers via a Hyper-V Moby Linux VM (as of Docker for Windows 17.10 this VM is based on LinuxKit).
The setup for running Linux containers with LCOW is a lot simpler than the previous architecture where a Hyper-V Linux VM runs a Linux Docker daemon, along with all your containers. With LCOW, the Docker daemon runs as a Windows process (same as when running Docker Windows containers), and every time you start a Linux container Docker launches a minimal Hyper-V hypervisor running a VM with a Linux kernel, runc and the container processes running on top.
Because there’s only one Docker daemon, and because that daemon now runs on Windows, it will soon be possible to run Windows and Linux Docker containers side-by-side, in the same networking namespace. This will unlock a lot of exciting development and production scenarios for Docker users on Windows.
As part of Docker’s “batteries included” philosophy, Docker for Windows 17.11 includes a highly-optimized LinuxKit-based kernel and userspace to enable the utility VMs, and the configuration required to use LCOW out of the box. The container-optimized LinuxKit components provide high performance for starting and stopping containers compared to a traditional Linux OS.
As a Windows platform feature, LCOW represents a long term solution for Linux container support on Windows. When the platform features meet or exceed the existing functionality the existing Docker for Windows Linux container support will be retired.
Fire it up
When Docker for Windows 17.11 installs if your machine is running the Windows 10 Fall Creators Update you will get a splash screen offering to enable the Linux containers for Windows feature:
When configured to use Linux containers for Windows, try running a simple Linux container:
docker run -it busybox
You can also take advantage of the localhost support in Docker for Windows:
docker run -d -p 8080:80 httpd
After installation the LCOW feature can be enabled and disabled via the Settings dialog:
When disabled, the existing options for switching between traditional Docker for Windows Linux containers and Windows containers will be available in the whale systray icon.
Future versions of LCOW will support running Linux and Windows containers side-by-side.
The LCOW feature is under active development:
- Known issues are maintained by Microsoft on this page
- Follow progress via the LCOW epic
- Issues can be reported in the Docker for Windows project
If you build something cool let us know on Twitter!