కంటైనర్లు మరియు వర్చువల్ మెషీన్లు (VMs) రెండూ వేరుచేసిన వాతావరణాలను అందిస్తాయి, కానీ అవి భిన్నంగా పనిచేస్తాయి: కంటైనర్లు హోస్ట్ యొక్క OS కర్నల్ను పంచుకుంటాయి (తేలికపాటి), VMs హైపర్వైజర్ ద్వారా వర్చువలైజ్ చేసిన హార్డ్వేర్పై పూర్తి గెస్ట్ OS నడుస్తుంది (భారీ). కంటైనర్లు ఎందుకు చాలా సమర్థవంతమైనవో అర్థం చేసుకోవడానికి ఈ తేడా ఉపయోగకరమైనది.
ప్రధాన ఆర్కిటెక్చర్ తేడా
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 │
└─────────────────┘ └─────────────────┘
