Search code examples
dockerwindows-server-2019

Is it even possible to run a Linux docker image on windows server 2019 (VMware)?


Now I been evaluation, trying and testing this for many hours and the frustration start to eat me up.

Due to company policies I have nothing else to play with than a host based on WMware. On that i tried to nest a Hyper-V role. The Hyper-V appear in the server manager so in some way I must succeded. From here I cant perform anything similar to the instructions given in the many blogposts and instructions I read. The instructione on how to proceed are very ambivalent and in many cases inaccurate. Is there a way forward or should I just forget all about it, because there are no way that I will be successfull in achiving linux docker images on windows server 2019. Worth mentioning is that windows docker images runs like a charm on the server when I have the docker version for windows containers.

I have installed Docker EE Preview so you don't have to ask that. Basically I followed all instructions given when I google "run linux containers on windows server 2019"

Is there anyone out there that managed to perform this task with similar setup?


Solution

  • In my case, the situation is practically the same.

    I have a Windows Server 2019 Standard Edition installed in virtual machine on VMware platform on host server.

    Since Docker needs Hyper-V for running internal virtual machine, there is an issue of nested virtualization to deal with (VMware on host, and Hyper-V on guest).

    This issue can be resolved according to instructions presented on address: https://doitfixit.com/blog/2014/03/06/qhyper-v-components-is-not-runningq-nested-in-vmware-workstation/

    Apart from settings for enabling nested virtualization in VMware program, there was a need to manually edit .vmx file, and more specifically to include the following properties in it:

    hypervisor.cpuid.v0 = "FALSE"
    guestOS = "winhyperv"
    

    Then, I've finally found a working combination of Windows Server and Docker that can effectively run with Linux containers, by installing an edge release of Docker Desktop Community 2.1.3.0 published on 2019-09-16.

    This release (as well as other edge releases of Docker) is available at address: https://docs.docker.com/docker-for-windows/edge-release-notes/