将容器与虚拟机进行比较

已完成

借助硬件虚拟化,可以在同一物理硬件上同时运行多个独立的操作系统实例。 容器代表计算资源虚拟化的下一个阶段。

基于容器的虚拟化使你能够将操作系统虚拟化。 通过这种方法,你可以在同一个操作系统实例中运行多个应用程序,同时保持应用程序之间的隔离。 虚拟机中的容器提供的功能类似于物理服务器中虚拟机的功能。

有关容器与虚拟机的注意事项

为了更好地了解基于容器的虚拟化,我们来比较一下容器和虚拟机

比较 容器 虚拟机
隔离 容器通常提供与主机和其他容器的轻度隔离,但容器不像虚拟机那样提供强大的安全边界。 虚拟机提供与主机操作系统和其他虚拟机的完全隔离。 当强大的安全边界至关重要时(例如,在相同服务器或群集上托管来自竞争公司的应用),这种分离非常有用。
操作系统 容器运行操作系统的用户模式部分,可以对其进行定制,使之只包含应用所需的服务。 此方法可帮助你使用更少的系统资源。 虚拟机运行包含内核的完整操作系统,这需要更多的系统资源(CPU、内存和存储)。
部署 可以通过命令行使用 Docker 部署单个容器。 可以使用 Azure Kubernetes 服务等业务流程协调程序部署多个容器。 可以使用 Windows Admin Center 或 Hyper-V 管理器部署单个虚拟机。 可以使用 PowerShell 或 System Center Virtual Machine Manager 部署多个虚拟机。
永久性存储 容器使用 Azure 磁盘作为单个节点的本地存储,或将 Azure 文件存储(SMB 共享)用于由多个节点或服务器共享的存储。 虚拟机将虚拟硬盘 (VHD) 用于单个计算机的本地存储,或将 SMB 文件共享用于多个服务器共享的存储。
容错 如果某个群集节点发生故障,另一个群集节点上的业务流程协调程序会快速重新创建在该节点上运行的任何容器。 虚拟机可以故障转移到群集中的另一台服务器,而虚拟机的操作系统将在新服务器上重启。

使用容器时的注意事项

与物理机和虚拟机相比,容器具有多项优点。 查看以下优势,并考虑如何为公司的内部应用实现容器。

  • 考虑灵活性和速度。 在开发和共享容器化应用程序代码时,获得更高的灵活性和速度。

  • 考虑测试。 为配置选择容器,以便简化应用测试。

  • 考虑应用部署。 实现容器,以便简化和加速应用部署。

  • 考虑工作负载密度。 支持更高的工作负载密度,并通过使用容器来提高资源利用率。