当前位置:首页 > 虚拟机 > 正文

容器和虚拟机的优缺点


一、容器和虚拟机区别1.容器和虚拟机有相似的使命:隔离应用程序及其依赖项,构建一个可以在任何地方运行的自包含实体。此外,容器和虚拟机还消除了对物理硬件的需求,使我们能够更有效地使用计算资源,从而提高能源效率和成本效益。
2.虚拟机将虚拟硬件(即操作系统)和用户空间打包成一个新的虚拟机。虚拟机可以使用“虚拟机管理程序”在物理设备上运行。虚拟机依赖于虚拟机管理程序,虚拟机管理程序通常安装在“裸机”系统硬件上,使得虚拟机管理程序在某些方面被视为操作系统。一旦安装了虚拟机管理程序,就可以从系统的可用计算资源中分配虚拟机实例,每个虚拟机都被赋予唯一的操作系统和工作负载(应用程序)。简而言之,虚拟机首先要虚拟出一个物理环境,然后构建一个完整的操作系统,然后构建一个运行时层供应用程序运行。
3.对于容器环境来说,不需要安装主机操作系统(如LXC或libcontainer),直接安装在主机操作系统(通常是Linux变体)上。安装容器层后,可以从系统可用的计算资源中分配容器实例,并在容器中部署企业应用程序。但是,每个容器化应用程序将共享相同的操作系统(单个主机操作系统)。容器可以被认为是安装了一组特定应用程序的虚拟机。它直接使用主机的内核。它比虚拟机具有更少的抽象层、更轻并且启动速度极快。
4与虚拟机相比,容器具有更高的资源利用效率,因为不需要为每个应用程序分配单独的操作系统——实例规模更小,创建和迁移速度也更快。这意味着单个操作系统可以承载比虚拟机更多的容器。云提供商非常热衷于容器技术,因为可以在同一硬件设备上部署更多数量的容器实例。此外,容器很容易迁移,但它们只能迁移到具有兼容操作系统内核的其他服务器,从而限制了迁移选项。由于容器不像虚拟机那样封装内核或虚拟硬件,因此每组容器都有自己独立的用户空间,允许多组容器在同一主机系统上运行。我们可以看到,所有操作系统级别的架构都可以跨容器共享,唯一需要独立构建的就是二进制文件和库。正因为如此,容器具有极其优异的轻量化特性。