虚拟机(VM)可以定义为一个虚拟环境,其工作方式类似于计算机系统(虚拟),其 CPU、存储、内存和网络接口建立在物理硬件系统上。一种称为管理程序的软件将机器的资源与硬件隔离开来,并妥善安排它们。
配备任何管理程序(如 KVM(基于内核的虚拟机))的各种物理机被称为主机、主机操作系统、主机或简称为主机。许多使用这些资源的虚拟机被称为来宾操作系统、来宾计算机、来宾机器或简单的来宾。
管理程序将所有计算机资源(例如 CPU、存储和内存)视为可以在新虚拟机或现有来宾之间轻松重新定位的资源池。
虚拟机允许在单个计算机上同时执行一种以上不同类型的操作系统。所有操作系统都以相同的方式执行应用程序或操作系统通常会在主机硬件上运行。

虚拟机的优势/优点
一台虚拟机可以在类似的计算机系统上使用多个操作系统环境。

  • 虚拟机促进了 ISA(指令集架构)。与真实计算机相比,ISA 结构是一种不同类型的结构。它充当硬件和软件之间的接口。
  • 执行 VM 有各种安全优势。例如,当我们需要执行一个有问题的安全应用程序时,我们可以在客户操作系统中执行它。因此,如果一个应用程序导致损坏或丢失,那么它在客户关闭后将是暂时的。
  • 虚拟机通过审核来宾操作系统的缺陷并允许隔离所有用户进行分析来允许安全取证。
  • 在构建虚拟机时构建了一个硬盘(虚拟)。因此,该机器上的所有内容都可能崩溃,但如果发生这种情况,它不会影响任何主机。

虚拟机的缺点
虚拟机的缺点如下:

  • 由于虚拟机间接访问硬件,因此虚拟机效率不如实际机器。
  • 在主机操作系统之上运行软件意味着该软件将需要从主机请求访问。它会降低可用性。
  • 如果许多虚拟机在类似的主机上执行,则如果计算机以较少的功率执行,则性能可能会降低。在这种情况下,VM 仍然使用我们主机的资源。主机系统功能越强大,VM 运行的速度就越快。
  • 虚拟机可能会受到主机弱点的影响。例如,进程隔离可以定义为操作系统通常采用的一个方面。但是,有一些错误会破坏它。虚拟机的普通计算机将只影响。一个计算机系统以及许多虚拟机也会影响所有的机器。

容器

容器是一种操作系统虚拟化。 单个容器可用于通过小型软件进程或微服务运行任何大型应用程序。 在一个容器中,有很多重要的可执行文件,例如配置文件、库和二进制代码。
与机器或服务器虚拟化方法相比,容器不包含操作系统的映像。 它使它们具有便携性和轻量级,并且从根本上减少了开销。 可以将多个容器部署为多个容器集群。 这些类型的集群可以由 Kubernetes 等容器编排器处理。

容器的优势/优点
容器是一种简化的技术,用于在从开发人员的本地笔记本电脑到云甚至数据中心的多个环境中测试、构建、重新部署和部署应用程序。
以下是容器的一些重要优点:

  • 更少的开销:与硬件或传统 VM 环境相比,所有容器都需要更少的系统资源,因为它们不包含操作系统的映像。
  • 提高可移植性:在容器内执行的多个应用程序可以轻松部署到多个不同的硬件平台和操作系统。
  • 一致的操作:每个 DevOps 团队都知道应用程序将执行相同的操作,而不必关心它们在容器中的部署位置。
  • 更高的效率:每个容器都允许更快速地扩展、修补和部署应用程序。
  • 应用程序开发:每个容器都支持 DevOps 和敏捷工作,以加快生产、测试和开发周期。

容器的缺点
以下是容器的一些缺点:

  • 不适合所有任务:容器促进多功能性; 但是,这些当然不是每个现有 VM(虚拟机)部署的全局替代品。 此外,一些应用程序不是容器虚拟化的好选择。
  • 依赖关系的开销:一般虚拟机是高度独立的,所有虚拟机都包含特定的操作系统、应用程序组件和驱动程序。 Bittman 描述了将大量依赖项置于容器之上会限制各种服务器之间的可移植性。
  • 分离较弱:容器共享操作系统组件和内核的能力较弱。 因此,攻击和缺陷更有可能被利用。
  • 有限的工具:行业内缺乏管理和监控容器所需的工具类型。 这不是一个较新的现象。 前几天基于管理程序的虚拟化因缺乏适用工具而受到关注。

虚拟机和容器的区别

让我们讨论一下VM和容器的区别,虚拟机和容器的对比表格如下 -

虚拟机 (VM) 容器
硬件被虚拟化以使用虚拟机执行多个操作系统实例。 容器促进了一种虚拟化操作系统的方式,以便可以在单个操作系统实例上执行多个工作负载
虚拟机 (VM) 通过管理程序管理并使用 VM 硬件。 容器从底层主机提供操作系统服务,并利用虚拟内存硬件分离应用程序。
虚拟机 (VM) 促进了抽象机,它利用设备驱动程序寻址抽象机。 容器便于抽象操作系统。
虚拟机 (VM) 技术在各种嵌入式社区中广为人知。 容器已在多个云和服务器上与 Google 和 Facebook 等组织一起发展。例如,Google Docs 的所有服务都获得一个容器/实例。
更高的开销 更低的开销
虚拟机 (VM) 允许安装其他软件,因此几乎控制它直接在计算机上安装软件是有争议的。 容器是独立允许不同应用程序功能的软件。
在虚拟机系统上执行的应用程序可以执行不同的操作系统。 在容器环境中执行的应用程序有助于单个操作系统。
虚拟机 (VM) 提供了一种虚拟化任何计算机系统的方法。 容器仅虚拟化操作系统。
虚拟机 (VM) 体积大。 容器非常轻(几兆字节)。
由于体积大,VM 可以在几分钟内运行。 容器在几秒钟内运行。
占用系统大量内存。 容器使用的系统内存非常少。
虚拟机 (VM) 高度安全。 容器的安全性较低。
如果需要操作系统的每个资源来执行多个应用程序,那么使用虚拟机 (VM) 。 如果需要用最少的服务器最大化各种执行应用程序,那么使用容器。
虚拟机 (VM) 示例:VMware、Xen、KVM 容器 容器的示例:通过 Docker、PhotonOS、RancherOS 的容器。
欢迎任何形式的转载,但请务必注明出处,尊重他人劳动成果。
转载请注明:文章转载自 有区别网 [http://www.vsdiffer.com]
本文标题:虚拟机和容器的区别
本文链接:https://www.vsdiffer.com/vs/virtual-machine-vs-containers.html
免责声明:以上内容仅是站长个人看法、理解、学习笔记、总结和研究收藏。不保证其正确性,因使用而带来的风险与本站无关!如本网站内容冒犯了您的权益,请联系站长,邮箱: ,我们核实并会尽快处理。