The Kubernetes team has announced that it is deprecating the use of the Docker container runtime sometime after the release of Kubernetes 1.20, which is the upcoming release of the container orchestration tool. Instead, Kubernetes will use runtimes that use the Container Runtime Interface (CRI).

“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,” the Kubernetes team wrote in a post

The Kubernetes team explained that this change does not affect Docker images, and that Docker images will continue to work as they always have. According to the team, end-users of Kubernetes will likely not notice this change. 

The team also explained this change affects a different environment than most people use to interact with Docker. The Docker installation used by developers is not related to the Docker runtime inside of Kubernetes clusters. “It’s confusing, I know. As a developer, Docker is still useful to you in all the ways it was before this change was announced,” the team wrote. 

Kubernetes users using a managed service like GKE, EKS, or AKS will need to ensure that their worker nodes are using a supported container runtime before Docker support is deprecated. Node customizations might need to be updated based on their environment and runtime requirements as well. The Kubernetes team recommends working with service providers to ensure proper upgrade planning. 

The removal of the Docker container runtime is currently planned for Kubernetes 1.22, slated for release in late 2021. Starting with Kubernetes 1.20, users will get a deprecation warning if they are using the Docker container runtime.

“So, this change is coming. It’s going to cause issues for some, but it isn’t catastrophic, and generally it’s a good thing. Depending on how you interact with Kubernetes, this could mean nothing to you, or it could mean a bit of work. In the long run, it’s going to make things easier. If this is still confusing for you, that’s okay — there’s a lot going on here, Kubernetes has a lot of moving parts, and nobody is an expert in 100% of it. We encourage any and all questions regardless of experience level or complexity! Our goal is to make sure everyone is educated as much as possible on the upcoming changes,” the team wrote.