containerd is a mid-level container runtime. Simply put, it is a daemon that manages the complete container lifecycle on a single host: creates, starts, and stops containers, pulls and stores images, configures mounts and networking, etc.
The creators of containerd designed it to be easily embeddable into larger systems. Docker relies on containerd to run containers under the hood. In Kubernetes, kubelet often utilizes containerd to manage containers on the node. And smaller projects, like faasd, benefit from the ease of integration with containerd too.
However, programmatic use of containerd is not the only option - there are also several command-line clients available.
These clients cater to different use cases: ctr
is useful for learning about containerd's capabilities, crictl
can be handy when debugging Kubernetes Pods, and nerdctl
may be a good alternative to Docker during local development.
Learn more about containerd and its command-line clients in this highly practical course.
Get notified about new lessons straight to your inbox!