The main misunderstanding is about what Docker is and what containerization is. For the last ten years, we all said Docker IS containerization. (as we use Kleenex to refer to any tissue).
Docker is just a tool between others
Alright, I have to admit that I'm kind of lying here. Docker is a combination of three parts:
- The CLI part that you mostly use when running
dockerordocker-composecommands. It talks directly to the Docker API. - The Docker API running in front of the Docker daemon called dockerd, which organizes containers through the containerd.
- And finally, the most important part, the container runtime
containerdthat is the real engine of your container system.
Little Kubernetes History
Until December 2016, Kubernetes integrated the Docker runtime as default using dockershim With its 1.5 version, Kubernetes introduced CRI (for Container Runtime Interface) and chose to deprecate dockershim.
In May 2022, Kubernetes v1.24 removed support for Docker Engine (dockerd) and removed dockershim from the kubelet.
From then on, Kubernetes is only supporting its CRI API to act as an orchestrator of containers.
That is why Kubernetes is NOT a Container Runtime at all.

I think it is important to know that Kubernetes is only a container orchestrator. Using KubeVirt or KataContainers, you are now able to go further and manage bigger VMs, not just the small containers.
Comparison of the market
Docker remains the main character when we talk about containerization. But some serious competitors are appearing on the market. ( with very serious advantages! )
For example, Podman is managed by RedHat team and is fixing some long-standing issues of Docker :
- Rootless container. It's only really recently that Docker added this security in the daemon. Your production environment does not necessarily need to be exposed the wrong way on the internet.
- DaemonLess (Podman): You're building a new CI/CD and DinD (docker in docker) is painful? Try podman and its daemonless system, you won't regret this.
Good point for Podman ? If you are a long-time user of Docker, the commands are almost the same, allowing you to move from Docker to Podman without — almost — any pain ! 💣
Of course, Docker is a very easy-to-use way to start creating containers, and it will be able to manage most of your production environments.
From now on, you'll know that Docker is not a technology but a tool. And like every tool, you should pay close attention of the evolution of the private company. ( pricing 💲Rlimits ⚠️ )
A DevOps engineer must think of long-term support systems and try to avoid any bad surprises from obsolescence (i.e. Windows 10) or pricing changes (i.e. VMware).
In order to go further on the subject :
- https://www.ambient-it.net/statistiques-docker/
- https://blog.stephane-robert.info/post/gitlab-docker-rate-limit/
See you next week with another article about Docker ! 💚
For the Netflix of applications : Odin by Caelus 🌳🚀