Docker is ubiquitous and significantly more battle-tested, and even has a rootless mode now. And it works on Mac and PC alike.
For me, it was, but I'm very much not doing anything complicated - just running some services in containers with an occasional 'compose' scenario.
> Docker is ubiquitous and significantly more battle-tested
Sure but if you now have to pay to use Docker Desktop at your company, Podman might be a better option.
I think that's fair. Then again, Docker as a company has been struggling to get customers, and their practices are... Let's say highly sub-optimal.
Feel free to pay for Docker. In our company, Docker is almost a curse word by now.
[0]: https://blog.newsblur.com/2021/06/28/story-of-a-hacking/
The Docker Registry is already easy to replace. The API is not complex and almost everyone is providing a Docker Registry as a Service. AWS, Gitlab, Github, Azure... You can also self-host it but I would not recommend that.
To run Docker in production, you can use Kubernetes.
It’s really nice to have it in the same network as the consuming servers to get great speeds.
Of course you can setup a high availability self hosted registry and test your backups regularly, but it's not super interesting in my humble opinion and it's a lot more expensive. Hosted Docker registries are cheap.
Having a local copy of the images is very interesting I agree. I would use a cache for that.
Minikube sets up a Linux VM using MacOS Hypervisor.
It even has a convenience command to configure docker-cli/docker-client.
$ minikube docker-env
export DOCKER_TLS_VERIFY="1"
export DOCKER_HOST="tcp://192.168.65.11:2376"
export DOCKER_CERT_PATH="/Users/wibble/.minikube/certs"
export MINIKUBE_ACTIVE_DOCKERD="minikube"
For corporate situations where MITM proxies are used, you can inject/trust custom CAs using $ minikube start --embed-certs
https://minikube.sigs.k8s.io/docs/handbook/untrusted_certs/Then again, if you know nothing of Kubernetes, I'd stick with Podman (which has limitations on anything but Linux AFAIK). You might create wrappers around runc [1] if you really wanted (wouldn't recommend) or containerd [2] (no personal experience on my part).
If you mean the Docker registry, there are a number of alternatives, like quay.io or MCR.
If you use Kubernetes you can self-host the registry and use Harbor (goharbor.io), it supports security scanning of images and can sign them too.
Here's a convenient installer for that: https://github.com/dziemba/mobymac
It does however have some rather annoying limitations. Also no Apple Silicon support.
If you're on Windows, you'll need WSL. Enable remote daemon access on the internal IP, then install the CLI (scoop or chocolatey) and set your default context to your WSL instance.
Seems cheaper than docker