Konteynerler ve sanal makineler (VM'ler) her ikisi de izole ortamlar sağlar, ancak farklı şekilde çalışırlar: konteynerler ana bilgisayarın OS çekirdeğini paylaşır (hafif), VM'ler ise sanallaştırılmış donanım üzerinde tam bir misafir OS çalıştırır (daha ağır). Bu farkı anlamak, konteynerların neden bu kadar verimli olduğunu açıklar.
Ana mimari farklılık
VIRTUAL MACHINE: CONTAINER:
┌─────────────────┐ ┌─────────────────┐
│ App + Libs │ │ App + Libs │
│ GUEST OS (full)│ ← full OS each │ (shares kernel) │ ← no guest OS
├─────────────────┤ ├─────────────────┤
│ Hypervisor │ │ Docker Engine │
├─────────────────┤ ├─────────────────┤
│ Host OS │ │ Host OS │
│ Hardware │ │ Hardware │
└─────────────────┘ └─────────────────┘
