Kontenery i maszyny wirtualne (VM) zapewniają izolowane środowiska, ale działają inaczej: kontenery współdzielą jądro systemu operacyjnego hosta (lekkie), podczas gdy VM uruchamiają pełny gościnny system operacyjny na zwirtualizowanym sprzęcie (ciężkie). Zrozumienie różnicy wyjaśnia, dlaczego kontenery są tak wydajne.
Dlaczego to ważne
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 │
└─────────────────┘ └─────────────────┘
