容器和**虚拟机(VMs)**都提供隔离的环境,但工作方式不同:容器共享主机的 OS 内核(轻量级),而虚拟机通过虚拟化管理程序在虚拟化硬件上运行完整的客户 OS(较重)。理解两者的区别解释了为什么容器如此高效。
核心架构差异
text
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 │
└─────────────────┘ └─────────────────┘
通过虚拟化管理程序虚拟化硬件并运行(拥有自己的内核)。共享,仅隔离应用程序——每个容器没有单独的 OS。
