Docker为什么比虚拟机快?
Docker比虚拟机快的原因
(1)docker比虚拟机更少抽象:
虚拟机需通过Hyperrisor(虚拟化管理进程)来模拟硬件资源,而docker不需要这层虚拟化,直接调用宿主机的物理机硬件。因此资源利用率和效率都高。
(2)docker复用宿主机的内内核,无需加载完整os内核:
新建虚拟机时,重新加载整套操作系统内核,需要几分钟;但docker直接复用宿主机的操作系统内核,不用单独加载os内核,因此新建一个docker容器只需秒钟。
| 对比维度 | Docker容器 | 虚拟机 |
|---|---|---|
| 操作系统 | 与宿主机共享 OS 内核 | 宿主机 OS 上运行虚拟机 OS |
| 存储大小 | 镜像小(MB 级) | 镜像大(GB 级) |
| 运行性能 | 几乎无额外性能损失 | 操作系统额外消耗 CPU/内存 |
| 移植性 | 轻量灵活,跨 Linux 环境适配 | 笨重,与虚拟化技术耦合度高 |
| 硬件适配性 | 面向软件开发者 | 面向硬件运维者 |
| 部署速度 | 快速(秒级) | 慢(10s 以上) |

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程