External Publication
Visit Post

Container Runtime

Sahil Kapoor's Playbook May 12, 2026
Source

A container runtime is the software component that actually creates and runs containers from an OCI image. It manages namespaces, cgroups, mount points, capabilities, and the container process lifecycle. Higher-level tools (Docker, Kubernetes) delegate the final "run this container" step to a runtime.

Two levels of runtime

  • High-level runtime. Pulls images, manages the local image store and snapshots, exposes an API. Examples: containerd, CRI-O.
  • Low-level (OCI) runtime. Implements the OCI Runtime Specification: take a filesystem bundle + config, set up namespaces and cgroups, exec the entrypoint. Examples: runc, crun, youki.

Common runtimes

  • runc. Reference OCI runtime; used by containerd and CRI-O.
  • crun. Faster C implementation of the OCI spec, used by Podman by default.
  • gVisor (runsc). Google's user-space kernel sandbox; stronger isolation, slightly slower.
  • Kata Containers. Runs each container in a lightweight VM for kernel-level isolation.
  • Firecracker. AWS microVM, used in Lambda and Fargate.
  • Wasmtime / wasmer with WASI. Emerging class of WASM runtimes for sandboxed workloads.

Kubernetes CRI

Kubernetes does not call runtimes directly; it speaks the Container Runtime Interface (CRI) to a high-level runtime, which then drives the low-level runtime. The default for most clusters is containerd plus runc.

๐Ÿ”—

Related Terms Docker, Kubernetes, containerd, OCI, Podman.

Discussion in the ATmosphere

Loading comments...