Is it possible to create Linux Containers on Windos Server 2016
Good morning,
I am using Linux-containers on my Docker running on Win10 - so it should be working on Win2016, too
I have tried this in Windows Server 2016 (version 1607 and OS build 14393.447) with build number
And used the following commands to install docker
- [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
- Install-Module DockerProvider
- Install-Package Docker -ProviderName DockerProvider -RequiredVersion preview
- Restart-Computer -Force
- [Environment]::SetEnvironmentVariable(“LCOW_SUPPORTED”, “1”, “Machine”)
- Restart-Service docker
The docker get installed and service started too.
But when I used the command
docker load --input test.tar ,test is a linux container.
I am getting an error saying that .
**docker : failed to start service utility VM (applydiff **
**a735d77de99adb5d934f1fca841e30909373b751ad1bee621865eebba2bcb7b7): container **
**a735d77de99adb5d934f1fca841e30909373b751ad1bee621865eebba2bcb7b7_svm encountered an error during CreateContainer: **
failure in a Windows system call: The data is invalid. (0xd) extra info: {“SystemType”:“container”,“Name”:"a735d77de9
9adb5d934f1fca841e30909373b751ad1bee621865eebba2bcb7b7_svm",“Layers”:null,“HvPartition”:true,“HvRuntime”:{"ImagePath"
:“C:\Program Files\Linux Containers”,“LinuxInitrdFile”:“initrd.img”,“LinuxKernelFile”:“bootx64.efi”},"ContainerType
":“linux”,“TerminateOnLastHandleClosed”:true}
At line:2 char:1
+ docker load --input C:\Test.tar …
Please help me to resolve this issue.
I read from some posts that LCOW is not supported in Windows 2016.
Please confirm this too.If so ,is there any other method to implement linux container on Windows Server 2016
Tested myself with the following steps using a simple redis-container/image:
- stopped a container on a linux-based Docker-server
- exported this container with
docker export containername -o redistest.tar
- copied
redistest.tar
to WIn10-Notebook using WinSCP - checked with
docker image ls
that image with tagredistest:latest
is not available yet - imported with
docker import redistest.tar redistest:latest
- checked with
docker image ls
that image with tagredistest:latest
is available now. - started the image with
docker run -d -p 6380:6379 10redisttest redis-server
and verified withdocker ps -a
that the container is running. Also checked the container’s functionality (in my example I’ve checked with a redis-client)
So at least with this image the docker export
+ docker import
was working fine.
Instead of copying images from one machine to another with docker export
+ docker import
I prefer publishing my images to a private repository using docker push
and pulling them on the other machine(s) with docker pull