2022年09月13日
容器与虚拟机对比
大致对比一下容器与虚拟机的特点。
对比
1. 隔离
注:这里的隔离与否主要看使用效果,而不关注实现细节。
容器 | 虚拟机 | |
---|---|---|
硬件 | 隔离 | 隔离 |
进程 | 隔离 | 隔离 |
文件系统 | 隔离 | 隔离 |
网络 | 可配置 | 隔离 |
2. 管理控制
容器 | 虚拟机 | |
---|---|---|
管理工具 | 通常附带,易用 | 自行寻找 |
创建 | 简单快速 | 耗时 |
运行控制 | 方便快捷 | 耗时 |
镜像 | 方便易用 | 难以制作 |
备份快照 | 方便易用 | 估计体积大,难以管理,问题多 |
3. 配置
容器 | 虚拟机 | |
---|---|---|
网络 | 可与宿主系统共用网络 | 不可与宿主系统共用 |
文件系统 | 可与宿主系统共用某个目录,映射灵活 | 配置麻烦 |
硬件资源 | 可共享 | 难共享 |
总结
从使用感受角度来说,容器相比虚拟机在隔离了资源、环境的同时,可以更加灵活地与宿主系统进行资源共享。
此外许多容器的实现附带了很多易用的管理工具,而虚拟机的管理工具则需要自己再去寻找。
尽管在用户感受上容器和虚拟机都提供了隔离环境,但在实现上容器对宿主系统有更多的依赖,比如依赖宿主的内核、文件系统等。因而在运行时,宿主系统会相对更容易地影响到容器的运行,而对虚拟机的影响相对较小。