Docker and containerd

Hello,

I just kicked-off the beginners course on kubernetes for beginners and I felt little hard to understand how docker is different from containerd. The lesson is too vague and I dont get why we covered an entire course dedicated to docker ?

Could you pls help me to uncover some insights regarding:

  1. docker - containerd
  2. deprecating docker
  3. nerdctl etc…

HI @benki

Docker is a higher-level platform with features like image building, networking, etc.
Whereas, Containerd is the container runtime within Docker Engine, handling low-level operations like container creation, execution, and lifecycle management.

I would suggest you check out our course Docker Training Course for the Absolute Beginner. That can help you understand the core underlying technology behind Kubernetes.

Hello,

I did take and finished the docker beginner course. However, the container runtime, is really the picture i do not understand from the first few lessons. Plus, the crictl, kubectl etc

A detailed resource with well-written explanation can really help me clear up the clutter.

Thanks in advance

The key idea here is that for a lot of Kubernetes’ functionality, the system uses “plugins” to handle a function, be CNI (container network interface) plugins to handle networking pods, CSI (container storage interface) plugins to handle storage, or to handle the setup and deployment of containers for pods, CRI (container runtime interface) plugins to handle the low-level operations needed to create containers on a node, delete them, and inform the api server details about the containers and their status.

As an example, one CRI plugin commonly used to implement this low level container behavior is “containerd”, which was originally written by the Docker team by “factoring out” the low level functionality of the Docker server. By making that functionality a CRI plugin, you can drop the same functionality in Kubernetes, and it “just works”. But there are other competing CRI plugins not written by Docker that do similar jobs, and Kubernetes is able to use them too. Change the CRI plugin used, and K8s still works pretty much the same.

1 Like