Deep Dive: containerd
summary
Explains containerd internals: a gRPC API stable exposes low-level services while a smart Go client implements high-level pull/unpack/run logic; metadata sits in a Bolt DB per namespace (moby, CRI) and content is blobs addressed by hash. Snapshotter is immutable and pluggable; a proxy snapshotter via UNIX socket serves snapshot gRPC. Runtime shim v2 supports shared shims and a stats API. Demo registers a proxy plugin, shows ctr commands, and reports GC removing content in ~6 ms with a 4.9 ms metadata lock.
AI-written summary · about
chapters (11)
- 0:00Introduction to container D
- 1:24Architecture and service layer
- 3:51Namespaces and labeling
- 5:38Data model and garbage collection
- 9:52Snapshotter plugin architecture
- 14:11Runtime shim and stats API
- 16:12Client extensibility and flows
- 20:13Running containers
- 22:53Security and multi-tenancy
- 28:13Kubernetes and CRI integration
- 31:52Demo and closing
related talks
31mcontainerd Introduction and Deep Dive
49mContainerd Fundamentals
28mA Deep Dive Into Virtualized Container Technology
34mPod Through a Magnifying Glass
48mUnderstanding Container Engines by Demo™
23mWhat is a container, really? Let's write one in Go from scratch
33mLinux Container Internals
37mCRI-O: Under the Hood
