Containere og virtuelle maskiner (VM-er) gir begge isolerte miljøer, men de fungerer ulikt: containere deler vertsmaskinens OS-kjerne (lett), mens VM-er kjører et fullstendig gjesteoperativsystem på virtualisert maskinvare (tyngre). Å forstå forskjellen forklarer hvorfor containere er så effektive.
Den viktigste arkitektoniske forskjellen
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 │
└─────────────────┘ └─────────────────┘
