With the release of Windows Server 2016 Version 1709, Today I’ll show you how to run Linux Containers on Windows Containers.
Running Linux Containers on Windows Containers was and is the number #1 requested feature since day one.
This feature is still not supported in production because it’s only available on the Docker Enterprise Preview Edition and will be available soon, so please don’t use it production.
Requirements
- To get this to work, I’m using a Windows Container Host running on a Hyper-V machine.
- Windows Server 2016 Version 1709 which is the only support OS for running Linux Containers
- Docker Enterprise Edition 17.10 Preview 3
- The Docker LinuxKit Feature – This is the feature that allows us to run Linux Containers and I’ll show you how to enable it
Install Docker Preview Edition
Below, I’ll use the two commands to Install Docker Enterprise Preview Edition
Install-Module DockerProvider
Install-Package Docker -ProviderName DockerProvider -RequiredVersion preview

Once completed, I need to restart the host using
Restart-Computer
Enable Docker Linux Containers (LinuxKit)
Below, I’ll enable the Docker Linux Containers LinuxKit feature using the cmdlets below:
Powershell
[Environment]::SetEnvironmentVariable("LCOW_SUPPORTED", "1", "Machine")

When done, I’ll restart the host using
Restart-Computer
To disable Docker Linux Containers feature use:
[Environment]::SetEnvironmentVariable("LCOW_SUPPORTED", $null, "Machine")
Run Linux Containers on Windows Containers
And the last step in the process is to download a Linux Image using the command below.
In my case, I’m downloading Ubuntu
Docker pull ubuntu

And to run a Linux Container I run
Docker run -it ubuntu


Conclusion
Running Linux Containers is an amazing feature and I can’t wait to see going GA.
The installation and configuration process is very smooth and it looks like Microsoft and Docker have been working very hard to make still a reality.
About Windows Server Version 1709
First announced a five months ago, Windows Server 2016 version 1709 released as a Semi-Annual Channel with 18 months support.
Long and Semi-Annual Channel
As Announced a few months ago, Windows Server will be available in two release modules.
- Long-Term Servicing Channel – This Is the current and most familiar module where a new operating system version is released every 2-3 years with 5 years support cycle.
- Semi-Annual Channel – This new module will offer two new releases every year with new features and roles, support will be available for 18 months.
The Semi-Annual Channel will only be available for Volume Licensing customers with Software Assurance.
If you don’t have Software Assurance you can use Microsoft Azure where it’s available.
Comments
One response to “How to Run Linux Containers On Windows Server 2016 Version 1709”
I tried like you but I got error like this.
I don’t how to solve it.
C:\Program Files\Docker\docker.exe: failed to register layer: failed to start service utility VM (applydiff e8e51d13ddc7
93adab0dad0972c8ccba89df623886232a4df37553c5a10248c0): container e8e51d13ddc793adab0dad0972c8ccba89df623886232a4df37553c
5a10248c0_svm encountered an error during CreateContainer: failure in a Windows system call: The data is invalid. (0xd)
extra info: {“SystemType”:”container”,”Name”:”e8e51d13ddc793adab0dad0972c8ccba89df623886232a4df37553c5a10248c0_svm”,”Lay
ers”:null,”HvPartition”:true,”HvRuntime”:{“ImagePath”:”C:\\Program Files\\Linux Containers”,”LinuxInitrdFile”:”initrd.im
g”,”LinuxKernelFile”:”bootx64.efi”},”ContainerType”:”linux”,”TerminateOnLastHandleClosed”:true}.