🚢 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.
| Overhead | Safety | Written in | Notes | |
|---|---|---|---|---|
| opencontainers/runc (0) | Baseline | Go | The OG from Docker. Now seperate as a component that also serves many other runtimes. | |
| containers/crun (0) | Lower | C | ||
| kata-containers/kata-containers (0) | Slightly higher | Fully isolated kernel |
Engines
| Engine | CLI | GUI | Default runtime | Rootless | Pod abstraction | Systemd support | Notes |
|---|---|---|---|---|---|---|---|
moby/moby (0) (dockerd) | docker/cli (0) | Docker Desktop | runc | ⚠️ Experimental | ❌ | ❌ | |
| containers/podman (0) | podman | podman-desktop/podman-desktop (0) | crun | ✅ | ✅ | ✅ | |
| containerd/containerd (0) | containerd/nerdctl (0) | - | runc | There's also a low-level CLI called ctr | |||
| cri-o/cri-o (0) | crictl from Kubernetes | - | runc | Used 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
- abiosoft/colima (0): A docker alternative that built on top of lima-vm/lima (0). Actually VM, not containers.