我对 docker 和虚拟机都很陌生。第一次在 Windows 10 上安装 docker 时,它提醒我需要启用 Hyper-V。我不太清楚 Hyper-V 是什么,但我认为它与虚拟化有关,所以我遵从了。但是,对于某些工具,我需要使用 Linux 环境,因此我使用的是 Oracle 的 VM Virtualbox。当我尝试在其中运行虚拟机时,它一直给我一个蓝屏。搜索后,我发现为了防止这种情况,我需要禁用 Hyper-V。我这样做了,但是现在 docker 无法启动,因为 Hyper-V 的先决条件未启用。
中间立场是什么?我怎样才能同时使用 Virtualbox 和 docker?
答案1
没有回旋的余地。
Hyper-V 和 Virtual Box 的功能完全相同。它们在您的系统上虚拟化另一个操作系统。
Docker 使用 Hyper-V 子系统创建一个虚拟环境,Docker 应用程序在其中运行,因此 Hyper-V 需要处于活动状态。
那么为什么不能同时激活 Hyper-V 和 VirtualBox 呢?
虚拟化的问题在于性能。由于它模拟的是计算机,因此完全软件模拟的速度非常慢。因此,为了解决这个问题,虚拟化软件会直接与系统硬件通信。要实现这一点,您必须在 BIOS 中启用 vtx。这些指令集允许虚拟化软件直接与主要组件(如 CPU 和显卡)通信,以保持高性能。问题是这是设备独有的。一旦对硬件提出要求,其他软件就无法获得要求。因此 VirtualBox 和 Hyper-V 不会并行运行。
我真的无能为力吗?
好吧,您可以在 Hyper-V 中重新创建 VirtualBox。您可以在使用 Docker 时激活 Hyper-V VM,因此这是解决此问题的一种方法(可能是唯一方法)。但 Hyper-V 和 VirtualBox 不能同时使用。