containerd

containerd is an industry-standard container runtime daemon that manages the complete container lifecycle on a host: image pull and storage, container execution, snapshotting, and networking. It is the runtime that Kubernetes, Docker, and most container platforms call underneath.

How it fits

Container tooling is typically layered. Docker and Kubernetes are high-level interfaces; they delegate the actual running of containers to a runtime. containerd sits in the middle: it accepts requests, manages images, and in turn calls a lower-level OCI runtime (runc) to start container processes using Linux namespaces and cgroups.

What it provides

  • Image pull from OCI registries, layer storage, content-addressable blob store
  • Container creation, start, stop, delete via the CRI (Kubernetes) and the containerd gRPC API
  • Snapshotters (overlayfs, btrfs, devmapper, ZFS) that materialise images as filesystems
  • CNI integration for networking plugins
  • Metrics, events, and a plugin architecture
🔗

Subscribe to Sahil's Playbook

Clear thinking on product, engineering, and building at scale. No noise. One email when there's something worth sharing.
[email protected]
Subscribe
Mastodon