中间件速查手册
Compare · 2 个对象

Docker vs 虚拟机

经常被混淆的两个概念:一个隔离进程,一个虚拟硬件
从谁的角度看
Docker vs 虚拟机 对比表
对比维度
Docker 容器
共享内核的隔离进程
虚拟机
完整操作系统 + 虚拟硬件
原理
隔离层级Namespace + Cgroup 隔离进程Hypervisor 虚拟硬件,跑独立内核
操作系统共享宿主机内核每个虚拟机一个完整 OS
性能
启动时间秒级甚至毫秒级分钟级
资源开销MB 级,接近原生性能GB 级,有虚拟化损耗
单机密度几十到上百个几个到十几个
安全
隔离强度较弱,内核漏洞可能逃逸强,硬件级隔离
实践
镜像/模板分层镜像,仓库分发,秒级拉取系统镜像,体积大,分发慢
典型用途微服务、CI/CD、开发环境统一多租户隔离、异构系统、强安全要求

点某一行可以高亮该维度,方便逐条横向读;移动端左右滑动查看全部列。

选型建议

Docker 容器

绝大多数应用部署场景用它,快、省、环境一致。

虚拟机

需要强隔离、跑不同内核、或合规要求时用它;云上两者常常叠加使用。

一句话结论

容器不是「更轻的虚拟机」,它根本不虚拟硬件。需要强隔离时虚拟机仍然不可替代。

其他对比