Containers na virtual machines (VMs) zote hutoa mazingira yaliyotengwa, lakini zinafanya kazi kwa namna tofauti: containers hushiriki kernel ya OS ya mwenyeji (nyepesi), wakati VMs huendesha guest OS kamili kwenye maunzi yaliyofanywa virtual (nzito zaidi). Kuelewa tofauti hii kunaeleza ni kwa nini containers zina ufanisi mkubwa.
Tofauti kuu ya kimuundo
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 │
└─────────────────┘ └─────────────────┘
