Switching from Docker to CRI-O
First and foremost: how do I switch from Docker to CRI-O?
The answer is not quite straightforward, unfortunately. It depends on several factors.
A Kubernetes cluster can use CRI-O as a container runtime (OpenShift 4.x does so, for example).
Addressing image builders: CRI-O does not offer the toolset for building images. CRI-O is a daemon, only accessible through the Container Runtime Interface (CRI).
CRI-O = CRI + OCI
This means that it creates containers from images compliant to the standards defined by the open container initiative (OCI).
Is Podman a CLI to CRI-O?
No. crictl queries the CRI on the terminal. The backends are different, there is a large overlap between contributors and the design is similar (pods in mind).
How can I try it?
Do I have to learn new commands?
It’s not necessary, but if you really want to:
podman manages containers
buildah creates container images
skopeo manages images in registries
What do I lose?
For a long time, there was no replacement for docker-compose. Now, there is a community project podman-compose. We are still evaluating to what extent it can serve as a substitute.
k8s cluster → CRI → docker (containerd) / CRI-O
CLI → docker / podman, buildah, skopeo / rkt