容器是软件的标准化单元,它包含应用程序运行所需的所有代码和依赖项,包括二进制文件、库和配置文件。容器化软件可以从一个计算环境可靠地运行到另一个计算环境。
虚拟机(VM)和容器都使用虚拟化来创建运行应用程序的隔离环境。关键的区别在于它们提供的虚拟化粒度——vm在操作系统/机器级别进行虚拟化,而容器在软件级别进行虚拟化。
让我们仔细看看这两种虚拟化技术之间的区别。
虚拟机虚拟化整个机器和操作系统,以便它可以托管在不同的机器上。要共享主机的资源,您需要一个管理程序来虚拟化服务器.多个虚拟机可能运行在一个与主机相连的管理程序上。虚拟机允许你将一台物理服务器划分为多台机器,这些机器可以运行不同依赖关系和操作要求的应用程序,从而为你节省资金。
虽然不必购买新服务器可以节省资金,但vm确实需要主机提供大量系统资源。当您必须模拟整个操作系统和底层机器来通过管理程序运行单个应用程序时,很明显,进一步的粒度可以为您节省更多的成本。
想象一下在虚拟环境中运行应用程序的便利性,而不需要管理程序的大量资源需求。这基本上就是容器允许您将软件封装到虚拟的自包含单元中所做的事情。
在容器中,您不再需要使用管理程序虚拟化整个操作系统和服务器。相反,在使用主机的操作系统内核时,您只需虚拟化特定应用程序运行所需的软件和硬件依赖关系。容器允许您在一个OS实例上创建多个工作负载。因此,容器对物理服务器的负担要比虚拟机轻几个数量级。
虽然容器比虚拟机更灵活,但它们对主机操作系统内核的依赖限制了依赖其他操作系统环境的应用程序的使用。虚拟机也更加隔离和安全,因为它们真正独立于主机。
你应该在以下情况下使用容器:
你应该在以下情况下使用虚拟机:
虽然容器从软件开发的角度抽象了底层硬件的细节,但遗留IT基础设施中的低效率仍然会阻碍整体性能。
纯服务编配器是一个容器编排工具,可以毫不费力地将持久存储资源交付给容器化的应用程序。它与Kubernetes和其他容器编排工具无缝集成,提供:
Pure Service Orchestrator结合了弹性伸缩、智能供应和透明恢复来交付容器即服务。