Skip to main content

🚢 Containerization

Everything worth-noting for containerization.

Runtime

Low-level CLI that implements the OCI Runtime Specification opencontainers/runtime-spec (0). Responsible for actually starting the container on system.

You wouldn't typically directly operate on those.

OverheadSafetyWritten inNotes
opencontainers/runc (0)BaselineGoThe OG from Docker. Now seperate as a component that also serves many other runtimes.
containers/crun (0)LowerC
kata-containers/kata-containers (0)Slightly higherFully isolated kernel

Engines

EngineCLIGUIDefault runtimeRootlessPod abstractionSystemd supportNotes
moby/moby (0) (dockerd)docker/cli (0)Docker Desktoprunc⚠️ Experimental
containers/podman (0)podmanpodman-desktop/podman-desktop (0)crun
containerd/containerd (0)containerd/nerdctl (0)-runcThere's also a low-level CLI called ctr
cri-o/cri-o (0)crictl from Kubernetes-runcUsed by Kubernetes, not meant for direct use
apple/containerization (0)apple/container (0)-Virtualization.framework

Although the CLI is different, but they have similar usage as docker.

There's also rancher-sandbox/rancher-desktop (0) that can operates dockerd or containerd and managing Kubernetes.

Base Image

Misc