But for a richer
Kubernetes environment, you might want to look at CRI-O
https://cri-o.io/ and it's GitHub repo
(https://github.com/cri-o/cri-o). Others more involved than
I with the Kubernetes side of things will likely have more
insight.
The built-in Docker support in Kubernetes (the so called "dockershim") is getting deprecated - in favor of the standard interfaces such as CRI (for runtime) and CNI (for network):
So there it will be between "containerd" (supported by docker/moby for some features) and "cri-o" (supported by podman for some features), as two available choices for the CRI:
Both are available out-of-the-box in minikube, by using the --container-runtime start parameter:
--container-runtime string The container runtime to be used (docker, cri-o, containerd).
You can also connect directly to them, but there is nothing in Kubernetes itself that requires this...
(it is a minikube feature, with the docker-env and podman-env commands, to set the environment)
The plan is to make docker a socket-activated supporting service for containerd (not a default daemon), and to make podman a socket-activated supporting service for cri-o (same)...
We mostly use docker/podman when it comes to doing a "load" from an archive in the cache, or doing a "build" from a Dockerfile/Containerfile to an image. The rest is done by crictl.
/Anders
PS. Currently minikube still use the legacy docker-2376 and podman-varlink protocols though.
But eventually both of them will be replaced, by using the unix sockets over a ssh connection...