1 The container threat model
The single most important fact about container security is that containers share the host kernel. Unlike a virtual machine, which runs its own kernel on top of a hypervisor, every container on a host makes system calls into the same Linux kernel. A container is not a security boundary in the way a VM is — it is a bundle of kernel isolation features (namespaces and cgroups) wrapped around a process.
This shapes the blast radius: if an attacker escapes a container by exploiting a kernel bug, a misconfiguration, or an over-privileged setting, they can reach the host and potentially every other container on it. Defence therefore aims to make escape hard, to contain damage if it happens, and to reduce what each container is allowed to do in the first place.