Why did kubernetes remove docker

Let’s take a look at the actual relationship between kubernetes and docker

In the article “what is a container”, we mentioned that a container is not just a docker, but actually a container

A set of specifications defined by OCI organization, including runtime spec and image format spec

Kubernetes introduced CRI in version 1.5 (2016), so the relationship between docker and kubernetes becomes as follows

Dockershim is maintained by the community and allows kubernetes to use docker gasket of docker normally

CRI-O

When the container runtime standard was proposed, some people in red hat began to think that they could build a simpler runtime, which was only used by kubernetes. In this way, there is the Skunkworks project, finally named cri-o, which implements a minimum CRI interface

Finally, this structure evolved into this

In 2021 when this paper was written, that is, six years after the concept of CRI interface was put forward, kubernetes has become the de facto standard of container layout environment, and naturally began to be higher than the native docker in terms of discourse power. On the other hand, docker seems to have never seriously considered supporting CRI interface, and kubernetes community still needs to maintain dockership in the warehouse

It’s not hard to understand why kubernetes plans to start gradually removing support for docker

Not to mention that for kubernetes, docker should not support a series of interfaces of other modules

The relationship between docker and kubernetes CRI is more like the following

Docker provides more functions far beyond the needs of CRI and provides a full set of tools from operation to construction. It is precisely because of this responsibility and versatility that kubernetes has to pay more costs when docking with docker.

There are many new CRI features that have been repeatedly delayed due to their inability to implement on dockership, resulting in kubernetes finally choosing to try to remove dockership from the project.

Send a Message