容器和虚拟机的比较

本文阅读 3 分钟
首页 Linux,系统 正文

最近一段时间学习了虚拟机和docker这两个技术栈,总结以下两者的差异,如有错误请指出。 有关两者的简介可以参考这两篇文章: 虚拟化技术简述 容器技术简述

img 从上图我们可以看出: 虚拟机:物理机上可以启动多个虚拟机,然后一个虚拟机上面可以跑多个应用程序。 虚拟出一套完整的硬件,在其上运行一个完整的操作系统,在该系统上再运行所需应用进程。

容器:物理机上可以启动多个容器,然后一个容器上面可以跑多个应用程序。 容器的应用进程则直接运行于宿主机的内核,容器内没有自己的内核,也没有进行硬件虚拟。

共同点: (1)虚拟机和容器都是宿主机上面的一个进程,也就是一个应用程序。 (2)容器和虚拟机都有着资源隔离、安全隔离和系统资源分配的功能。

不同点: img

容器技术共享宿主机的操作系统和硬件资源,省去了启动和维护整个虚拟客户机的开销(硬件初始化、Kernel boot、init等),因而它非常轻量级,占用内存资源少,启动快,但安全隔离性低于虚拟机。

容器将应用程序的配置和所有依赖打包成一个镜像在容器中,为应用程序提供一个可以独立运行的环境,可以保证应用程序在任何环境中都可以按照预期来运行,方便持续集成和持续部署。

以QEMU+KVM虚拟化技术为例(这里不包括其它类型的虚拟化的技术),虚拟机和容器都依赖了Linux的技术特性,虚拟机依赖于Linux的KVM模块,容器利用用Namespace 和 Cgroup这两个内核特性。 简要架构图如下:

img

https://blog.csdn.net/Thirteen121/article/details/119442948 https://issavior.blog.csdn.net/article/details/124189270 https://blog.csdn.net/ternence_hsu/article/details/82024473

本文为互联网自动采集或经作者授权后发布,本文观点不代表立场,若侵权下架请联系我们删帖处理!文章出自:https://blog.csdn.net/weixin_45030965/article/details/124651266
-- 展开阅读全文 --
BUUCTF Web [极客大挑战 2019]Knife
« 上一篇 06-24
安全面试之XSS(跨站脚本攻击)
下一篇 » 07-24

发表评论

成为第一个评论的人

热门文章

标签TAG

最近回复