Los contenedores y las máquinas virtuales (VMs) proporcionan entornos aislados, pero funcionan de manera diferente: los contenedores comparten el kernel del SO del host (ligeros), mientras que las VMs ejecutan un SO invitado completo en hardware virtualizado (más pesadas). Entender la diferencia explica por qué los contenedores son tan eficientes.
Por qué es importante
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 │
└─────────────────┘ └─────────────────┘
