Kubernetes No Longer Supports Docker as a Runtime: Implications and Migration Guidance
Starting with version 1.20 Kubernetes deprecates Docker as a container runtime, but Docker images remain usable through CRI‑compatible runtimes like containerd or CRI‑O, so developers can keep building with Docker while clusters transition to supported runtimes with minimal disruption.
After version 1.20, Kubernetes will no longer support Docker as a container runtime.
Do not panic – the impact is limited. The change only discourages using Docker as the underlying runtime; you can still run Docker images in the cluster via the Kubernetes Container Runtime Interface (CRI).
For end‑users, Docker will not disappear; it remains a valuable development tool for building OCI‑compatible images, which continue to run unchanged on Kubernetes.
If you use managed services such as GKE or EKS, ensure you switch worker nodes to a supported runtime (e.g., containerd or CRI‑O) before Docker support is fully removed, and coordinate upgrade testing with your provider.
Clusters that perform rolling updates should handle the deprecation warning in 1.20 and plan to replace Docker with a compatible runtime by the expected removal in version 1.23, making sure the new runtime can work with existing Docker daemon configurations (e.g., logging).
The panic often stems from misunderstanding the role of the container runtime inside Kubernetes. Docker is a popular runtime, but it was not originally designed for direct embedding in Kubernetes, leading to the need for the Dockershim shim, which has already been removed as of Kubelet 1.23.
When Docker sockets (e.g., /var/run/docker.sock ) are used in workflows (Docker‑in‑Docker), switching runtimes may break those pipelines; alternatives such as Kaniko, Img, or Buildah can be employed.
Developers should note that the Docker installation on their workstation is unrelated to the Docker runtime inside the cluster. Docker‑built images are OCI images and are compatible with any CRI‑compliant runtime, so existing Dockerfiles remain valid.
In summary, while the runtime change may cause some inconvenience, it is not a major disruption and ultimately benefits the cloud‑native ecosystem.
Cloud Native Technology Community
The Cloud Native Technology Community, part of the CNBPA Cloud Native Technology Practice Alliance, focuses on evangelizing cutting‑edge cloud‑native technologies and practical implementations. It shares in‑depth content, case studies, and event/meetup information on containers, Kubernetes, DevOps, Service Mesh, and other cloud‑native tech, along with updates from the CNBPA alliance.
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.