I find that WSL requires a ton of hacks and workarounds to emulate a real Unix system. For example, I need to run Docker containers.
To do that, I install docker in WSL, then I have to run a Go binary I compiled as root, that lets WSL talk to Windows pipes, which then talks to Docker for Windows.
WSL makes using Windows somewhat tolerable, but it's not even close to having a regular old Unix.
I am using Docker for Windows, the problem I'm solving is I want to produce Docker images from within my WSL. I don't want to do all my work using vim/tmux from within WSL, only to open a Powershell window to actually build the container.
So I have to set up the strange hack I described in order to use docker inside WSL as a client to Docker for Windows.
To do that, I install docker in WSL, then I have to run a Go binary I compiled as root, that lets WSL talk to Windows pipes, which then talks to Docker for Windows.
WSL makes using Windows somewhat tolerable, but it's not even close to having a regular old Unix.