3 ms·
The docker daemon running in WSL2 is completely unmodified from the upstream source, and is in fact byte for byte identical with the official docker for Linux p
by jsmith45 5y ago
The docker daemon running in WSL2 is completely unmodified from the upstream source, and is in fact byte for byte identical with the official docker for Linux package binaries. So if you are getting a "better" version, it is by way of distro specific patches, or being able to run a marginally newer release than has been included in docker desktop yet.
However docker desktop has done a lot of tricks to enable you to run docker containsers from two or more different WSL2 distros seamlessly, as well as managing them from the windows command prompt. You can have a container started from windows with a windows bind mount, alongside a container from ubuntu with an ubuntu bind mount, and a container from fedora with a fedora bind mount all connected to the same docker network, since they are all running on the same daemon.
Out of curiosity, I partially reverse engineered what all they had done here, and it is a heck of a lot more involved then you expect. There is an awful lot of subtle things going on to help make things just work they way one would expect them to even in advanced scenarios like those. And I'm sure there is a lot more going on, as there was plenty I saw hints about but did not try to reverse engineer.
Admittedly I'm not a fan of this new docker desktop licensing change, But I think people underestimate the amount of work Docker Inc has done to make docker desktop work well.
- sandGorgon 5y agoSo ultimately - what do u recommend ? cos i couldnt make cmdline docker work on wsl2 Ubuntu. Is Docker Desktop the only way out ?
- richardwhiuk 5y agoStruggle to imagine why you'd want any of that Docker Desktop stuff.
- merusso 5y agoDocker Desktop provides an easy way to run `docker` commands from a non-Linux host, taking care of the VM management under the covers. It simplifies a lot of concerns so Docker "just works" on a non-Linux host.