容器与虚拟机区别

虚拟机
从下到上:
- infrastructure 个人pc/服务器/云主机
- 宿主机的操作系统
- 虚拟机管理系统,用于把物理硬件资源分为较小的虚拟硬件资源,从而被每个虚拟机里面的操作系统使用.
- 虚拟机的操作系统:每一台虚拟机会调用不同的操作系统的内核
容器
由下到上
- infrastructure
- 主机操作系统
- docker daemon docker的守护进程 运行在操作系统上的后台进程,负责管理Docker容器
- 依赖与应用
两者比较
-
虚拟机都有自己独立的kernel,不会调用宿主机的kernel,而容器都只有一个操作系统,只有一个独立的kernel与虚拟CPU
-
容器更加轻量级,因为每个虚拟机需要运行属于自己的一套系统进程,这会大量的资源
-
容器的启动速度越快,因为其直接调用的是宿主机的kernel
-
虚拟机实现的是操作系统级的资源隔离,而容器实现的是进程间的资源隔离
-
可以把容器理解为一个进程sandbox
process namespace
用于实现特定资源的隔离,让每个进程只看到自己的

本文探讨了容器与虚拟机的区别,详细解释了虚拟机如何通过虚拟化技术提供独立的操作系统,而容器则共享宿主机内核,实现轻量级隔离。容器的启动速度快,资源利用率高,通过namespace实现进程隔离,Cgroups限制资源使用,unionfs整合文件系统。
最低0.47元/天 解锁文章
401

被折叠的 条评论
为什么被折叠?



