容器与虚拟机究竟有何本质上的差异?

作为一种部署应用程序的全新方式,容器技术在短时间内获得了广泛关注,但是这种技术同样存在某些限制,并且和虚拟机存在本质上的不同。

虚拟化技术已经改变了现代计算方式,它能够提升系统资源使用效率、消除应用程序和底层硬件之间的依赖关系,同时加强负载的可以移植性和安全性,但是hypervisor和虚拟机只是部署虚拟负载的方式之一。作为一种能够替代传统虚拟化技术的解决方案,容器虚拟化技术凭借其高效性和可靠性得到了快速发展,它能够提供新的特性,并且帮助数据中心专家解决新的顾虑。

容器和虚拟机之间的主要区别在于虚拟化层的位置和操作系统资源的使用方式。

虚拟机依赖于hypervisor,其通常被安装在“裸金属”系统硬件之上,这导致hypervisor在某些方面被认为是一种操作系统。一旦 hypervisor安装完成, 就可以从系统可用计算资源当中分配虚拟机实例了,每台虚拟机都能够获得唯一的操作系统和负载(应用程序)。

通常,第一台虚拟机都将会被用来运行系统管理程序,比如Microsoft System Center。而之后的虚拟机可能包含其他企业负载,比如数据库、ERP、CRM、邮件服务器、媒体服务器、web服务器或者其他业务应用。虚拟机之间是完全隔离的——没有任何一台虚拟机知道(或者依赖)相同系统当中的另外一台虚拟机的存在——恶意软件、应用程序崩溃和其他问题只能影响一台虚拟机。虚拟机从一个虚拟系统被移动到另外一个当中,而不用考虑系统硬件和操作系统等因素。

而容器环境的工作方式则有所不同。对于容器环境来说,需要首先安装主机操作系统,之后将容器层(比如LXC或libcontainer)安装在主机操作系统(通常是Linux变种)之上。在安装完容器层之后,就可以从系统可用计算资源当中分配容器实例了,并且企业应用可以被部署在容器当中。但是,每个容器化应用都会共享相同的操作系统(单个主机操作系统)。

相比于虚拟机,容器拥有更高的资源使用效率,因为它并不需要为每个应用分配单独的操作系统——实例规模更小、创建和迁移速度也更快。这意味相比于虚拟机,单个操作系统能够承载更多的容器。云提供商十分热衷于容器技术,因为在相同的硬件设备当中,可以部署数量更多的容器实例。然而,单个操作系统有可能引起影响所有相关实例的单点事故。比如,恶意软件或者主机操作系统崩溃可能禁用或者影响所有容器。此外,容器易于迁移,但是只能被迁移到具有兼容操作系统内核的其他服务器当中,这样会无形中减少迁移选择。

从实际应用的角度来说,容器和虚拟机可以在同一个数据中心当中共存,因此这两种技术被认为是互补的——为现代应用程序架构师和数据中心管理员添加了可用工具集,通过不同的方式为应用负载提供支持。

本文作者:王学强

来源:51CTO

时间: 2024-09-20 05:54:19

容器与虚拟机究竟有何本质上的差异?的相关文章

技术讨论:微服务和容器比虚拟机快多少?

本文讲的是技术讨论:微服务和容器比虚拟机快多少?[编者的话]本文是Microscaling Systems的联合创始人Anne Currie在微服务日伦敦站的演讲整理稿,通过阅读本文可以深入了解到当和虚拟机比较时,微服务和容器的速度和效率. Anne Currie,Microscaling Systems的联合创始人,提供了一个关于为何采用容器的很好概述.请享受她最初在微服务日伦敦站的演讲,该演讲研究了什么使得微服务和容器的结合如此强大. 希望你能和我们一样享受这个演讲. 视频 幻灯片 今天,你

容器相比虚拟机更为安全的十三个方面

本文讲的是容器相比虚拟机更为安全的十三个方面[编者的话]容器的安全性一直是架构师们的心病,担心隔离性弱被攻破,而纠结于是否选择容器.本文将围绕容器的安全特性,从容器设置以及容器应用的最佳实践出发,总结13个方面,说明容器为何比虚拟机更加安全的原因.希望能够对您的容器安全加固有所帮助. 去年,普遍观念认为容器的安全性远不如虚拟机.为什么呢 ?由于容器的抽象层极易被攻破,因此容器的安全无疑比通过硬件VT-x优化后的虚拟机抽象层薄弱的多 .一旦攻防松懈,恶意代码便可轻松攻击主机.更糟糕的是,一旦主机妥

反思|容器与虚拟机的真正区别在哪里?

本文讲的是反思|容器与虚拟机的真正区别在哪里,[编者的话]本文主要介绍了容器与虚拟机的区别,在策略.性能以及安全等方面,作者一一回答了目前人们对容器与虚拟机区别的疑问. "Docker和虚拟机有什么不同?",这似乎是我听到的有关容器最常见的问题之一,我一般给出的答案取决于提出此问题的不同方式.但是我喜欢这样开头:"容器和虚拟机仅仅相似于它们都提供了隔离环境." 接着我阐述他们之间的差异,"容器能做的事少得多并且使用起来相当廉价.而虚拟机提供整个虚拟化硬件层

容器 VS. 虚拟机:云中应该使用哪一种?

在开足马力使用容器之前,了解容器与虚拟机在私有云.公共云以及混合云部署之间的区别是至关重要的. 虽然目前大多数的云部署都是基于虚拟机的,但是容器技术为云用户带来了显著的好处.但是,在选择一个取代之前技术的替代品时,了解两者之间的主要区别是很重要的.最大的问题在于虚拟机或容器是否最适合公共云.私有云或混合云模式.这个问题的答案取决于三个主要因素:虚拟机和容器之间的功能性差异.私有云和公共云组件之间的相互依存程度以及用户对他们自己云平台进行定制的意愿. 容器与虚拟机:两者之间的不同 虚拟机和容器两种

论数据中心虚拟化两大技术代表:容器和虚拟机

如今,虚拟化技术在数据中心内已经生根发芽,应用非常普及,无论是在服务器.还是网络.存储等设备中都是如此.虚拟化技术起源于服务器,后来在网络设备中也出现,虽然都叫虚拟化技术,但是实现的原理是完全不同的,网络设备中的虚拟化也不能像服务器中的虚拟化可以虚拟化出数百或上千的虚拟设备,实现的技术也完全不同.本文着重讲述的是服务器中的虚拟化技术.服务器是数据中心最为重要的组成部分,所有的应用服务都要安装在服务器上,并运行,所以服务器上的虚拟化技术与应用最为密切相关.从早年的虚拟机技术到如今的容器技术,都是虚

CVPR专访阿里iDST华先胜:电商搜索与城市大脑,本质上都是视觉系统问题|CVPR 2017

雷锋网 AI 科技评论按:在 CVPR 2017 ,雷锋网(公众号:雷锋网) AI 科技评论看到了非常多的工业界人士来到现场.这个计算机视觉领域的学术会议吸引了如此多的企业研究院大牛,他们对工业界与学术界的融合有何看法?又是如何理解自家业务在视觉领域的地位和创新点的?为此,雷锋网 AI 科技评论与阿里 iDST 视觉计算组负责人华先胜在 CVPR 的现场进行了一次交流. 华先胜,北京大学应用数学博士.IEEE Fellow.ACM 2015 年度杰出科学家.MIT TR 全球 35 位 35 岁

MIT周博磊:CV本质上是一门科学研究

雷锋网 AI 科技评论按:如果你常逛知乎,相信你对周博磊并不陌生.周博磊目前是 MIT 在读博士生:知乎深度学习(Deep Learning).机器学习.人工智能话题优秀回答者,目前有近两万的知乎关注者.在 CVPR 2017 上,周博磊牵头分别组织了一个 tutorial (http://deeplearning.csail.mit.edu/) 和 workshop (http://sunw.csail.mit.edu/),获得了不错的反响. 在参会期间,雷锋网(公众号:雷锋网) AI 科技评

求助:Ubuntu14.04在虚拟机下为什么连不上无线

问题描述 求助:Ubuntu14.04在虚拟机下为什么连不上无线 最近更新了虚拟机Ubuntu14.04在VMWARE WORKSTATION,之前一直可以上网,为什么更新之后就不能打开网页了呢在网上也看了些解决方法感觉都不太一样求大神帮忙 解决方案 首先确保你的物理主机能通过无线上网,装好驱动配置好.然后你的VMWare设置下虚拟网卡,和你的主机的无线网卡绑定好,和NAT共享,确保Ubuntu能找到虚拟网卡的驱动,以及自动获取IP. 解决方案二: VMWARE选用bridge或者NAT模式,换

二进制间的运算本质上是补码之间的运算吗?

问题描述 二进制间的运算本质上是补码之间的运算吗? 如 int num=~3+2; 结果num的值为-2. ~3的结果是-12(8位举例.PS:原谅我没换为int32位的,数值太大了). -12的补码是取反加+,结果为-4. 2的补码还是2. 解决方案 补码(two's complement) 1.在计算机系统中,数值一律用补码来表示(存储). 主要原因:使用补码,可以将符号位和其它位统一处理:同时,减法也可按加法来处理.另外,两个用补 码表示的数相加时,如果最高位(符号位)有进位,则进位被舍弃