Containerele și mașinile virtuale (VMs) oferă ambele medii izolate, dar funcționează diferit: containerele partajează kernelul OS-ului gazdă (ușoare), în timp ce VM-urile rulează un OS guest complet pe hardware virtualizat (mai grele). Înțelegerea diferenței explică de ce containerele sunt atât de eficiente.
Diferența arhitecturală cheie
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 │
└─────────────────┘ └─────────────────┘
