containerd
containerd is an industry-standard container runtime that manages the full container lifecycle on a host: image transfer, storage, container execution, supervision, and networking. It runs beneath higher-level tools like Docker and Kubernetes as the core execution engine.
itCloud native tools and technologies | OpenSkills.info
Intro
containerd
containerd is the container runtime daemon that sits between higher-level systems and the operating system. It manages images, container filesystems, container metadata, and running processes on one host. Projects such as Kubernetes can use it through the Container Runtime Interface, or CRI.
You usually do not treat containerd as a complete developer platform. The project is designed to be embedded in a larger system. Kubernetes supplies cluster orchestration. Image builders produce images. Registries distribute them. containerd handles the node-level container lifecycle.
That boundary is the key to understanding containerd. It is infrastructure under other infrastructure.
Why containerd exists
A container platform must do more than start a process. It must fetch image content, verify content by digest, store layers, assemble a mountable root filesystem, retain container configuration, start the selected runtime, supervise the task, and clean up resources.
containerd puts these responsibilities behind services and a gRPC API. A client can ask for an image pull, create container metadata, create a task, or inspect events. Plugins provide implementations for areas such as content storage, snapshots, runtimes, and CRI.
This separation gives higher-level systems a stable runtime layer without requiring each system to implement the full host lifecycle.
The mental model
Continue the course
This section is part of the paid course.
See pricing to subscribe, or log in if you already have access.
Where this skill leads
Relevant careers
See how this topic contributes to broader role-level skill maps.
Sources
- https://github.com/containerd/containerd
Supports
- containerd as a host-level container runtime daemon designed for embedding
- Image transfer and storage, execution and supervision, and low-level host attachments
- Runtime relationship with runc and operating-system-specific libraries
- Built-in CRI plugin for Kubernetes
- https://containerd.io/docs/
Supports
- Official versioned documentation entry points for current and maintained releases
- https://github.com/containerd/containerd/blob/main/docs/getting-started.md
Supports
- ctr as a debugging client, nerdctl as a general-purpose client, and crictl as a CRI debugging client
- Built-in Kubernetes CRI support
- Standard Linux configuration path and default configuration generation
- Client, image pull, container creation, and task lifecycle
- Container metadata existing before a task starts the user process
- https://github.com/containerd/containerd/blob/main/docs/content-flow.md
Supports
- OCI registry, content store, and snapshot content areas
- Image indexes, manifests, configuration, layers, and platform selection
- Unpacking layers into committed snapshots and creating an active snapshot
- https://github.com/containerd/containerd/blob/main/docs/runtime-v2.md
Supports
- Relationship among containerd, runtime shims, and runtime engines
- Filesystem preparation before runtime invocation
- runc invocation through containerd-shim-runc-v2
- Task create, start, stop, and communication flow
- https://github.com/containerd/containerd/blob/main/docs/PLUGINS.md
Supports
- Smart-client architecture and extension interfaces
- Built-in and external plugin models
- Plugin status inspection
- Configuration version 3 recommendation for containerd 2.x and version 2 support
- https://containerd.io/docs/main/namespaces/
Supports
- Namespaced API for multiple consumers of one daemon
- Separate names and metadata with shared content-addressed image data
- Namespaces as administrative constructs rather than security features
- Client selection of a namespace
- https://github.com/containerd/containerd/blob/main/docs/hosts.md
Supports
- Per-registry hosts configuration
- Registry mirrors, credentials, and transport security options
- https://github.com/containerd/containerd/blob/main/docs/containerd-2.0.md
Supports
- containerd 2 migration context and deprecation inspection
- Separate installation of containerd, runc, and CNI plugins
