← Back to context

Comment by vetinari

3 years ago

WSL2 is very limited; from not having a "proper init" to having NAT-ed network, it is fine for running simple docker containers, but proper linux it is not.

Comparing it to the real linux is like comparing powershell prompt to full windows.

> [WSL] is fine for running simple docker containers

WSL is passable for running Docker containers, and that is if you add a ton of complicated socket forwarding machinery and Window-side service management automation to it, which is what Docker Desktop does.

Without that, WSL2's lack of a proper init system means that you literally don't even have a way to automatically start `dockerd`. And you have the same story for the integration of that Docker daemon with the other Linux WSL hosts.

> Comparing it to the real linux is like comparing powershell prompt to full windows.

True, although in a way this comparison is unflattering to Linux because PowerShell is generally better made, better documented, and less hostile to automation or customization than most software that comes with Windows.

  • > WSL is passable for running Docker containers, and that is if you add a ton of complicated socket forwarding machinery and Window-side service management automation to it, which is what Docker Desktop does.

    That's exactly the reason why I mentioned simple docker containers.

    Once I needed to make some of them work with macvlan/ipvlan, and docker desktop on mac and windows were both completely unusable.

Say I'm webdev (I'm not) and proper Linux for me is that one which can start Flask dev env, and I can copypaste things from stackoverflow. Totally fine for my needs to call it proper Linux.

  • Webdev is about the only scenario, in which it would be ok; funny how you mentioned exactly this one.

    However, for webdev, native linux would be fine as well.