Every container on a host shares the same underlying Linux kernel. What keeps them apart isn't separate operating systems — it's namespaces (each container gets its own view of processes, network interfaces and the filesystem) and cgroups (which cap the CPU/memory/devices a container may touch). Isolation is a set of restrictions layered on top of one shared kernel, not a hard wall like a virtual machine's hypervisor.
- Hardened container — no extra Linux capabilities, a read-only root filesystem, not run in
--privileged mode. Even a fully compromised app inside it has nothing to escalate with: there's no escape hatch to reach the kernel through.
- Misconfigured container — run privileged, or with a host path bind-mounted in, or granted a capability like
CAP_SYS_ADMIN. Any of these hands a compromised process a direct route to the shared kernel — from there it has host-level reach into every other container's namespace, regardless of how well-configured those siblings are.
Click any container to compromise it, then flip its toggle. A hardened container stays contained. A misconfigured one breaches down into the shared kernel layer and spreads back up into every sibling — the blast radius jumps from 1 to the whole host. Run repeated randomized trials to see the pattern hold on average, not just once.