Container und virtuelle Maschinen (VMs) bieten beide isolierte Umgebungen, funktionieren aber unterschiedlich: Container teilen sich den Kernel des Host-Betriebssystems (leichtgewichtig), während VMs ein vollständiges Gast-Betriebssystem auf virtualisierter Hardware ausführen (schwerer). Das Verständnis des Unterschieds erklärt, warum Container so effizient sind.
Die wichtigste architektonische Unterscheidung
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 │
└─────────────────┘ └─────────────────┘
