Containerization is a more lightweight form of process-based isolation, on a shared OS host kernel, in comparison to Virtualization

While it isnt as flexible as virtualization, it is significantly more efficient, which makes it very popular for DevOps, serverless deployment, and other uses.

Key infrastructure: Docker Containers can be stored as binaries, and scripts can compose containers in layers

Supporting Containers

  • Namespace isolation and resource limiting
    • e.g. cgroups in Linux
  • Processes run with isolated side-effects
    • Like Linux chroot mechanism or FreeBSD jails