A konténerek és a virtuális gépek (VM-ek) egyaránt izolált környezeteket biztosítanak, de másként működnek: a konténerek megosztják a gazdagép OS kernelét (könnyűsúlyúak), míg a VM-ek egy teljes vendég operációs rendszert futtatnak virtualizált hardveren (nehezebbek). A különbség megértése magyarázza, miért olyan hatékonyak a konténerek.
A kulcsfontosságú építészeti különbség
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 │
└─────────────────┘ └─────────────────┘
