Remix.run Logo
NikolaNovak 2 days ago

I thought docker only supports windows as a host if you enable wsl, in which case you're running on hyper v and Linux kernel as part of wsl2, so absolutely Linux tech on a Linux vm on Windows... Am I wrong?

nine_k 2 days ago | parent | next [-]

You are. You can run Docker for Windows, and run Windows binaries in reasonably isolated containers, without involving Linux at all [1]. Much like you run Linux containers on Linux without involving Windows.

It's Docker Desktop what assumes WSL; Docker engine does not. Also, you seem to need Windows Server; IDK if it can be made to work on a Pro version.

[1]: https://learn.microsoft.com/en-us/virtualization/windowscont...

okanat 2 days ago | parent [-]

Docker Desktop defaults to WSL2 but it has no assumptions whatsoever. You can run it with HyperV

gregoryl 2 days ago | parent | prev | next [-]

Docker supports either hyper-v, or wsl2 as a host for the Linux kernel - they generally push people towards wsl2. I vaguely recall wsl2 uses a subset of hyper-v the name of which escapes me atm.

okanat 2 days ago | parent | prev [-]

You are. Docker Desktop supports two different container platforms: usual Linux ones and Windows Containers.

With the former a Linux kernel is required. You have two options: using WSL2 and benefiting from all the optimizations and integrations that Microsoft made, or running a full Hyper-V VM that gives absolute control and isolation from rest of the system.

For the latter, you need a Pro license and need to enable Containers feature (deployment requires more expensive Server licenses). Then you can run slimmed down Windows images like "nano server" which doesn't have GUI APIs.