Les conteneurs et les machines virtuelles (VMs) fournissent tous deux des environnements isolés, mais ils fonctionnent différemment : les conteneurs partagent le kernel du système d'exploitation de l'hôte (léger), tandis que les VMs exécutent un système d'exploitation invité complet sur du matériel virtualisé (plus lourd). Comprendre la différence explique pourquoi les conteneurs sont si efficaces.
Pourquoi c'est important
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 │
└─────────────────┘ └─────────────────┘
