Container dan virtual machine (VM) kedua-duanya menyediakan persekitaran terasing, tetapi ia berfungsi secara berbeza: container berkongsi kernel OS hos (ringan), manakala VM menjalankan OS tetamu penuh pada perkakasan tervirtualisasi (lebih berat). Memahami perbezaannya menjelaskan mengapa container sangat cekap.
Perbezaan seni bina utama
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 │
└─────────────────┘ └─────────────────┘
