Don't Panic: Kubernetes and Docker

There has been a bunch of confusion on the web about the news of dockershim’s deprecation, I just wanted to bring some attention to this issue and some links:

Here’s an excerpt from the official blog: Don't Panic: Kubernetes and Docker | Kubernetes

Kubernetes is deprecating Docker as a container runtime after v1.20.

You do not need to panic. It’s not as dramatic as it sounds.

tl;dr Docker as an underlying runtime is being deprecated in favor of runtimes that use the Container Runtime Interface(CRI) created for Kubernetes. Docker-produced images will continue to work in your cluster with all runtimes, as they always have.

If you’re an end-user of Kubernetes, not a whole lot will be changing for you. This doesn’t mean the death of Docker, and it doesn’t mean you can’t, or shouldn’t, use Docker as a development tool anymore. Docker is still a useful tool for building containers, and the images that result from running docker build can still run in your Kubernetes cluster.

There is also a FAQ document with more information:

1 Like

If you start an announcement with don’t panic people will panic. Maybe a joint article with Docker Inc. that explains better the current container landscape and how things connect would have been more appropriate. I think the broader audience would have valued also Docker’s point of view in regards to this move (which was expected to happen). I agree with the arguments that Docker shouldn’t be treated preferentially as a container runtime on the nodes. EDIT: Docker published an blogpost where it explains better (in my oppinion) what will actually change: https://www.docker.com/blog/what-developers-need-to-know-about-docker-docker-engine-and-kubernetes-v1-20/

1 Like

Furthermore, if there is now a need to reassure people this much, something in the community-planning went awry. Kubernetes governance & planning tends to be inward-facing instead of community-facing, and this is sort of indicative of that gap.

Let’s be fair too: This messaging is also further complicated around the ambiguity of terms like “Docker” vs “Docker Engine” vs. “The Docker runtime” which has been around for years. “Docker”, for many people, is synonymous with “containers”.

1 Like