Containers اور virtual machines (VMs) دونوں isolated environments فراہم کرتے ہیں، مگر یہ مختلف طریقے سے کام کرتے ہیں: containers ہوسٹ کے OS kernel کو شیئر کرتے ہیں (lightweight)، جبکہ VMs ورچوئلائزڈ ہارڈویئر پر مکمل guest OS چلاتے ہیں (heavier)۔ اس فرق کو سمجھنا یہ واضح کرتا ہے کہ containers اتنے efficient کیوں ہیں۔
بنیادی architectural فرق
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 │
└─────────────────┘ └─────────────────┘
