Is it possible to install docker in Windows without any virtualization support on it?. I need to run docker in a Windows 10 VM in a private cloud (windows containers only). I can’t nor want to install any virtualization software (VMWare, HyperV nor VirtualBox).
No. Docker is heavily build on deep Linux kernel features, which don’t exist on windows. Thats why Docker Desktop uses a VM.
The experimental version of Docker desktop can use WSL2 as backend, which is a somewhat native, non virtualized linux kernel in Windows. This requires the windows insider program tho.
But I suggest that you switch to a linux vm, since docker desktop works under windows but causes a lot of problems.
WSL2 relies on HyperV Microsoft quote “The newest version of WSL uses Hyper-V architecture to enable its virtualization.” https://docs.microsoft.com/en-us/windows/wsl/wsl2-faq .
believe me I dislike Windows, but is not because I love it somuch that I need to have a windows container. My company heavily relies on Windows, that is not going to be matter of hours/days to move our products to a platform independent env.
I just re-read your question and I am 100% certain that you won’t be able to get docker on Windows running without any form of virtualization, since docker is build on linux kernel functionalities, which don’t exist on windows.
Your only hope is to have the docker daemon running on another pc and only connect the cli to the remote computer. This is janky as hell and will probably not even work.
I’ve played with this a little now.
Apart from the fact you might still need Hyper-V to install Docker for Windows (I already had it installed so can’t be sure), you can run it without Hyper-V installed.
You do, however, need virtualisation enabled in the BIOS and the (new?!?) “Virtual Machine Platform” feature enabled.
See this blog post. The main idea is to run Docker in a Virtual Machine and connect to that. Basically deconstructing what Docker does by itself.
You do not need Hyper-V anymore.
Force a Windows upgrade to 19041 or higher:
Install/update WSL to WSL2:
Yeah, this is the right and the only way at the moment. This worked for me. Thanks