Konteinėriai ir virtualios mašinos (VM) abu suteikia izoliuotą aplinką, tačiau jie veikia skirtingai: konteinėriai dalinasi pagrindinio kompiuterio OS branduoliu (lengvi), o VM veikia visą svečio operacinę sistemą virtualizuotoje aparatinėje įrangoje (sunkesnė). Šio skirtumo supratimas paaiškina, kodėl konteinėriai yra tokie efektyvūs.
Pagrindiniai architektūriniai skirtumai
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 │
└─────────────────┘ └─────────────────┘
