Generated by GPT-5-mini| containerd | |
|---|---|
| Name | containerd |
| Developer | Docker, Inc., Cloud Native Computing Foundation |
| Initial release | 2017 |
| Programming language | Go (programming language) |
| Operating system | Linux, Windows, macOS |
| License | Apache License |
containerd
containerd is an industry-grade container runtime that provides core container lifecycle management. It builds on software produced by Docker, Inc. and integrates with projects such as Kubernetes, CRI-O, runc, and the Cloud Native Computing Foundation ecosystem to orchestrate container image transfer, storage, execution, and supervision. containerd is implemented in Go (programming language) and is designed for embedding into higher-level systems like Docker Engine and container orchestration platforms including Kubernetes and Nomad (software).
containerd originated as an internal component of Docker, Inc. to factor out container runtime responsibilities from the Docker Engine monolith. In 2017 it was donated to the Cloud Native Computing Foundation to encourage ecosystem adoption and stewardship, joining projects such as Kubernetes, etcd, Prometheus, and Envoy (software). Key historical milestones include upstreaming integrations with runc and transitioning to a stable, distributed governance model influenced by precedents like CNCF graduation and the Linux Foundation. Contributors and adopters have included major organizations such as Google, Microsoft, Amazon Web Services, Red Hat, IBM, and VMware.
containerd implements a daemon architecture with a modular API surface that higher-level systems consume. The daemon exposes a GRPC API inspired by patterns in gRPC ecosystems and integrates with low-level components like runc for OCI-compliant runtime execution and containerd-shim for process supervision. Image management relies on the Open Container Initiative image specification and storage drivers that interact with filesystems used by Linux distributions and Windows Server containers. Plugins in containerd follow a registration model similar to extensibility in Kubernetes controllers, allowing projects such as CRI-O and BuildKit to integrate. The architecture separates concerns: image transfer and content store, snapshotters for copy-on-write layers, runtime orchestration, and a shim layer that keeps container init processes alive independent of the daemon.
containerd provides features focusing on production container operations. Image management supports pulling, pushing, and unpacking using OCI image specifications and integrates with registries like Docker Hub, Quay.io, and Google Container Registry. Storage and snapshotters support performant layer handling with implementations such as overlayfs, device mapper, and custom snapshotters used by Kubernetes distributions and cloud providers. The runtime subsystem supports creating and supervising containers with runtime bundles compatible with OCI Runtime Specification and runc. Additional features include metrics and tracing hooks compatible with OpenTelemetry, distributed logging patterns found in Fluentd and Logstash, and support for building images through integrations with BuildKit and Kaniko.
Security in containerd centers on least-privilege execution, content trust, and isolation boundaries. Runtime isolation leverages kernel features such as Linux namespaces, cgroups, and integration with Seccomp and AppArmor profiles used by enterprise distributions like Red Hat Enterprise Linux and Ubuntu (operating system). Image verification and signing workflows integrate with technologies like Notary and supply chain security initiatives exemplified by Sigstore and SLSA. The project follows secure coding practices common to CNCF projects and coordinates vulnerability disclosure with vendors such as Qualcomm and Intel Corporation, while being compatible with orchestration-level admission controls in Kubernetes and runtime policy engines like OPA (Open Policy Agent).
containerd is embedded in a wide range of platforms and services. Major cloud vendors including Amazon Web Services, Google Cloud Platform, and Microsoft Azure use containerd in managed container offerings and underlying node images. Distributions and products such as Red Hat OpenShift, Rancher, Docker Desktop, and VMware Tanzu adopt containerd or provide integrations. Edge and IoT projects like Balena and AWS IoT Greengrass leverage containerd for lightweight runtime needs. The project's compatibility with orchestration systems such as Kubernetes and schedulers like Nomad (software) has made it a default runtime alternative to legacy stacks.
Development is hosted under the Cloud Native Computing Foundation governance model with maintainers from organizations including Docker, Inc., Google, Microsoft, Red Hat, IBM, and Tencent. The project uses public issue trackers and design proposals similar to processes employed by Kubernetes and etcd, with regular release cycles and semantic versioning influenced by industry practices like Semantic Versioning. Community contributions are reviewed via pull requests and design proposals; security advisories follow disclosure norms practiced by foundations such as the Linux Foundation and OpenStack.
Performance characteristics focus on container startup latency, image pull throughput, and runtime overhead in CPU and memory. Benchmarks compare containerd combined with runc against alternatives such as CRI-O and legacy Docker Engine stacks, measuring metrics used by cloud providers like Netflix and benchmarking suites inspired by SPEC and Phoronix Test Suite. Optimization areas include snapshotter performance for layered filesystems, parallel image layer downloads implemented by registries like Docker Hub, and shim efficiency for high-density multi-tenant deployments as seen in production at companies like Spotify and Airbnb.
Category:Container runtimes