概述
容器和虚拟机(VM)是封装计算环境的两种方式,其中整合了各种 IT 组件并将其与系统的其他部分隔离开来。二者之间的主要区别在于隔离了哪些组件,这反过来又影响了每种方式的规模和可移植性。
什么是容器?
容器是一个软件单元,可包含应用运行所需的所有组件和功能。大多数现代应用都是由多个容器组成,每个容器负责执行某种特定功能。容器通常以兆字节为度量单位,不使用虚拟机监控程序,且通常被视为更快、更敏捷的进程隔离方式。
容器出色的可移植性,是它广受欢迎的一大重要因素。它与相互拼接的乐高™ 积木很像,您可以轻松换下单个容器并将其移动到不同的环境中。将应用及其依赖项封装到容器中之后,便可以将其部署到任何所需位置:开发人员的笔记本电脑、数据中心、云或边缘,且其功能不会发生任何变化。
Docker
是一个用于构建、部署和管理容器化应用的开源平台,多年来,在容器技术的发展中发挥着重要作用。
什么是虚拟机?
虚拟机在云计算中发挥着至关重要的作用,它通过在隔离的实例中运行操作系统来模拟物理计算机。多个虚拟机通常托管在单个服务器上,由虚拟机监控程序充当物理主机和虚拟机之间的轻量级软件层。此虚拟机监控程序可高效管理对资源的访问,使虚拟机能够作为不同的服务器运行,同时提高灵活性和敏捷性。
在 2000 年代初期,整合和节约成本的倡议在 IT 领域得到了广泛推广,虚拟机的使用逐渐变得流行起来,随着时间的推移,对虚拟机的使用也在不断演变。企业的虚拟机部署已日趋成熟,不再局限于简单的整合,而是扩展涵盖了各种用途。其中包括按需为应用提供资源,以及优化对 GPU 等昂贵资源的访问。
虚拟机还充当了许多早期云计算环境的基础,用于促进资源虚拟化并支持多租户和隔离,即多个客户所运行的系统使用的是相同的资源。
虚拟机包含自己的操作系统,因此可以同时执行多个需要占用大量资源的功能。由于虚拟机的可用资源大大增加,因此它们可以抽象、拆分、复制和模拟整个服务器、操作系统、台式机、数据库和网络。
云原生与传统 IT 的对比
除了技术差异之外,容器与虚拟机之间的对比恰恰代表了现代云原生 IT 实践与传统 IT 架构之间的较量。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。