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?
alias docker=podman
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.
Conclusion
k8s cluster → CRI → docker (containerd) / CRI-O
CLI → docker / podman, buildah, skopeo / rkt
Jan Bundesmann
Latest posts by Jan Bundesmann (see all)
- ATIX at ConfigMgmtCamp 2024 - 20. February 2024
- Switching from Docker to CRI-O - 15. November 2023
- Registers and Macros in Vim - 23. June 2023