栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

容器和虚拟机的比较

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

容器和虚拟机的比较

文章目录
  • 前言
  • 一、 基础架构图
  • 二、 两者异同
  • 总结
  • 参考资料


前言

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

一、 基础架构图


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

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

二、 两者异同

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

不同点:

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

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

总结

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

参考资料

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

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/869179.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号