容器和虚拟机有什么不同?

容器技术虚拟化技术已经成为了一种被大家广泛认可的容器技术服务器资源共享方式,使用中为系统管理员提供了极大的便利,大大的提高了工作效率,并且容器技术已经引起了业内的广泛关注。然而,与虚拟机不同,容器并不是100%与底层主机操作系统(通常是Linux或Window Server)或服务器上的驱动程序或其他应用程序隔离的。接下来我们来介绍一下容器和虚拟机之间有什么不同!

成都创新互联专业为企业提供三都网站建设、三都做网站、三都网站设计、三都网站制作等企业网站建设、网页设计与制作、三都企业网站模板建站服务,10多年三都做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。

虚拟机是一个完整的虚拟化服务器,通过被称为虚拟机管理程序的软件分配磁盘空间、处理器周期和I/O资源。在虚拟机中可以找到真实服务器上的所有内容:操作系统、设备驱动程序、应用程序、配置文件和网络连接

换句话说,从底层起,是裸机、服务器的主机操作系统、管理程序,然后是一个或多个虚拟机,每个虚拟机都有自己的操作系统、驱动程序和应用程序。相比之下,容器中的所有内容都共享底层主机操作系统、设备驱动程序和一些配置文件。例如Docker,它提供一个或多个容器,而不是管理程序。每个容器只保存应用程序。这些应用程序依赖于主机操作系统和驱动程序,它也与在同一台服务器上运行的其他容器共享。

容器的好处是:开销更小

如果在Linux服务器上有20台Linux虚拟机,则需要使用内存和CPU资源运行21个Linux实例,其中20个是虚拟机,另一个运行主机。启动所有这些Linux实例需要一定的时间,并且开销很大。另一方面,所有这些Linux虚拟机都是相互隔离的,事实上,它们甚至可能是不同版本的Linux.在VM模型中,这完全没问题。

相反,如果在Linux服务器上有20个容器,则只需要一个Linux副本运行。启动一个容器非常快,并且消耗的资源要少得多,只有一个Linux内核和一组共享库。但是,一个容器中的出现安全问题可能会泄漏并影响其他容器或其应用程序。

虚拟机的好处:更强的隔离

现代微处理器、主机操作系统(Linux和Windows)以及虚拟机管理程序(VMware ESX,Citrix XenServer和Microsoft Hyper-V)中的技术可在每个虚拟机之间提供基于硬件的隔离。这种保护是同心环:每个环都受到较高编号的环的保护,其中0环位于中心,与应用隔离。

在虚拟机系统中,主机操作系统的内核在0环中运行,这意味着什么都无法达到。管理程序在环1中运行。而单个虚拟机在环2中运行,因此无法访问环1内的管理程序或操作系统。更重要的是,管理程序可以使用它的环1权限来执行规则,防止一个VM访问另一个VM的内存、应用程序或资源。

由于Docker Daemon不是环1管理程序,而是简单的环2应用程序,所以在容器中事物并不是同样安全的。因此,硬件中没有任何东西可以完全阻止一个容器对底层服务器进行更改,或者访问其他容器的内存、存储或设置。虽然有软件保护,但它们并非难以穿透。


新闻标题:容器和虚拟机有什么不同?
文章源于:http://scjbc.cn/article/cpjgge.html

其他资讯