Question about Docker Desktop, Windows and Hyper-V (Without WSL)

repost from here:

Im having trouble discerning in the docks. Where I work actually doesn’t allows WSL and WSL2 due to some security concerns (Probably a different conversation all together).

From the documentation it seems to read WSL or WSL2 is required for linux containers. I have tested removing WSL and relaunched docker desktop on windows, and it seems to deploy a DockerDesktopVM in hyperV which seems to work all the same, albeit it starts up a little slower.

But a lot of documentation seems to say that this deployment was moved to WSL, however I am having trouble finding documentation about using Docker Desktop on windows without WSL. Hoping for some guidance! Thank you.

First of all respect for sharing the reddit link so we can see if someone answers there.

At least WSL2. If you are not allowed to use WSL2, you can run your own VM. I know it was not your questions but if the HyperV way is slow and WSL2 is not allowed then you don’t have many options. Of course starting a VM with a full operating system would also be slower then WSL2 but you can find small operating systems optimized for running containers like Fedora CoreOS. I don’t use these operating systems recently so I don’t know which is the best choice. If you need a user friendly admin interface you can find web-based admins like Portainer.

Of course this is not a solution if you need a one-click installer for many workers at a company and you would lose the ability to emulate different architectures without manual settings of Qemu.

But if you need the best performance, you don’t use Docker Desktop. I installed it only for helping others.

Thanks for the reply! No WSL or WSL2 allowed. I personally love docker but have only used it via the command line.

The docker desktop documentation page isn’t clear to me if it will work with or without WSL (or wsl2). The install documentation has two sections. One for WSL and one for “Hyper-v and windows containers” which isn’t clear if that is only for windows containers, but it reads sort of like it can do Linux as well.

After a brief test it looks like docker desktop uses Hyper-v sans WSL without issue? But I didn’t realize this was built in. Please correct me if I’m wrong.

Hello there, Docker for Windows needs some level of virtualization. You have two official options:

  • With WSL2 integration
  • Without WSL2 integration, which means that Docker for Windows will create a Hyper-V VM.
    I used the Hyper-V option for more than a year for my homelab. I had a lot of problems regarding Docker and Windows integration. The most recent one is that Docker starts in 15 minutes since boot.

Now I created a Hyper-V VM with Ubuntu as an OS and I plan to migrate my compose stack there. but it’s not something recommendable for Enterprise grade critical applications.