I don't understand why someone would want to run docker on Mac OSX (or Windows) in a VM. Is there a way to set up the VM so it doesn't lock memory and processors?
I'm pretty sure that's the only way to run it on Mac OSX. Sure, you can have fancy tools to hide the VM and make it less visible (Docker Desktop), but it's still there.
I have been running docker on a 10 year old desktop, running ubuntu, which I ssh into. The code lives on the desktop which I edit over ssh. The desktop can still handle running a db and server, and I don't tie up resources on my laptop.
I keep looking for a better solution but this works the best.
Windows containers are Windows specific, and the base image is like 1+ GB. I think the best solution is run Linux cause that is what containers were created for and are the most performant on.
So while Linux containers are all over the place in 2020, Linux had zero influence in technology per se, and like Windows is just catching up with the mainframes and UNIX old timers already offered during the last couple of decades.
They aren't all over the place, in fact they are far more advanced than whatever you're referring to. Containers on Linux have also existed for a long time:
The containerization solutions you're referring to didn't gain widespread adoption like Docker and Kubernetes because they weren't as polished and lacked features and functionality that is available today. Windows containers have a big image requirement, and most server-side software is already optimized for Linux so they aren't in high demand. Just take a look at Docker Hub and tell me how many Windows containers you find compared to Linux, especially the official images of the most common software.
Free beer has a great power, hence why the other solutions didn't got as widespread as Linux.
As for the number of Docker images with Windows, that is just a side effect of Windows containers being relatively recent and most public cloud deployments being anyway based on Linux distributions.