虚拟机和容器是在单一平台上部署多个隔离服务的两种方式。
虚拟机:
它运行在名为虚拟机管理程序 (hypervisor) 的模拟软件之上,该软件位于硬件和虚拟机之间。虚拟机管理程序是实现虚拟化的关键。它管理物理资源与虚拟机的共享。每个虚拟机都运行其客户操作系统。与容器相比,它们的灵活性和可移植性较差。
容器:
它位于物理服务器及其主机操作系统之上。它们共享一个通用的操作系统,需要维护和维护以修复错误和补丁。它们比虚拟机更灵活,可移植性更高。
让我们看看虚拟机和容器之间的区别。
序号 | 虚拟机(VM) | 容器 |
---|---|---|
1 | VM 是一种软件,它允许您在其中安装其他软件,以便您虚拟地控制它,而不是直接在计算机上安装软件。 | 容器是一种允许应用程序独立实现不同功能的软件。 |
2. | 在 VM 系统或虚拟机管理程序上运行的应用程序可以运行不同的操作系统。 | 而在容器环境中运行的应用程序共享单个操作系统。 |
3. | VM 虚拟化计算机系统,即其硬件。 | 而容器只是虚拟化了操作系统,或者说软件。 |
4. | VM 大小非常大,通常以 GB 为单位。 | 虽然容器的大小非常小,通常只有几百兆字节,但可能会根据用途而有所不同。 |
5. | VM 的运行时间比容器更长,具体时间取决于底层硬件。 | 而容器的运行时间却要少得多。 |
6. | VM 使用了大量的系统内存。 | 而容器所需的内存却很少。 |
7. | VM 更安全,因为底层硬件不在进程之间共享。 | 而容器的安全性较低,因为虚拟化是基于软件的,并且内存是共享的。 |
8. | 当我们需要所有操作系统资源来运行各种应用程序时,虚拟机很有用。 | 当我们需要使用最少的服务器来最大化运行应用程序时,容器很有用。 |
9. | 1 型虚拟机管理程序的示例包括 KVM、Xen 和 VMware。Virtualbox 是 2 型虚拟机管理程序 | 容器的示例有 RancherOS、PhotonOS 和 Docker 容器。 |