I am going through CKAD Course and one of the lecture is “Docker v/s ContainerD”.
The video demonstrates, K8S removed the dockershim because Docker requires a specific demon whereas ContainerD, is lightweight and easy to run.
Um, does that mean Docker is fading?
But I can see, still with nerdctl, images are pulled from Docker hub.
In Kubernetes, pretty much everything is made available to the cluster as a kind of plugin. To handle creating docker-style containers, the plugin type is a CRI plugin (“container runtime interface” plugin).
Originally in early versions of K8s, rather than use CRI, they just bundled Docker with K8s. Once they decided to move to the CRI plugin approach, to help with the transition, they created a bit of software called “dockershim”, which made docker behave like a CRI plugin. Once CRI was ready (and even the docker people were using the general approach), they no longer needed dockershim, and people started using CRI plugins instead.
containerd is just the lower level parts of docker, packaged as a CRI. It’s now a popular CRI to use with K8s, and is the one we use in our labs.