Kontejnerët dhe makinat virtuale (VMs) të dyja ofrojnë mjedise të izoluar, por ato funksionojnë ndryshe: kontejnerët ndajnë kernel-in e sistemit operativ të pritës (të lehtë), ndërsa VMs-të ekzekutojnë një sistem operativ të plotë mysafiri në hardware-in virtual (më të rëndë). Të kuptosh ndryshesën shpjegon pse kontejnerët janë kaq efikasë.
Ndryshesa kryesore arkitekturore
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 │
└─────────────────┘ └─────────────────┘
