同居 Docker 和 VirtualBox Windows

Cohabitation Docker & VirtualBox on Windows

Docker 使用 Hyper V 功能,因此必须启用它才能使 Docker 正常工作。 但是,必须禁用 Hyper V 功能才能使 VirtualBox 正常工作(可以创建来宾并模拟它们,但前提是它们似乎是 32 位机器)。

有什么办法可以让两人健康相处,同时工作?而不是 enable/disabling Hyper V 选项并每次都重新启动?

不,没有。

就像我做的那样,在 Hyper-V 中创建这些虚拟机。 Hyper-V 超级快,唯一的问题是图形。以及 nat 和共享文件夹。

我为 Windows (xming) 安装了一个 Xserver 并将显示从 VM 发送到桌面并且运行完美。

  1. 从这里下载并安装 windows 中的 xserver:https://sourceforge.net/projects/vcxsrv/
  2. 在新的 Hyper-V 虚拟机中安装您的发行版。在互联网上查找说明。
  3. 运行 您的虚拟机并在 GUI 之外打开命令提示符:Ctrl+Alt+F2。输入以下命令:

sudo apt install xfce4 echo xfce4-session >~/.xsession env DISPLAY=yourwindowsip:0.0 LIBGL_ALWAYS_INDIRECT=1 startxfce4

它应该在 windows 中启动一个 xfce 桌面。您可以减少面板,也可以隐藏桌面 window。它工作得很好并且与 windows 桌面

很好地集成

更新 检查您的虚拟机和主机不会获得相同的 IP。如果发生这种情况,请在您的虚拟机中放置一个静态 IP。

如果您安装 Docker for Windows 的 Beta 通道,它会为您配置一个 Hyper-V VM 运行 Linux,它与 Docker 运行 本地 Windows.

然后你可以 easily switch between Windows and Linux Docker Engines 在同一个 Windows 盒子上。

我理解你的痛点,但据我所知,这是不可能实现的,因为你在这里提到的虚拟化技术是不同类型的。

Hyper-V 是一个 "Type 1" 管理程序,它在主机硬件上 运行。此类别中的其他示例包括 Citrix XenServer 和 VmWare ESXi。 Virtual Box 是一个 "Type 2" 托管的管理程序,它 运行 在 OS 中。此类别中的其他示例包括 VmWare Player。

如果您需要切换 b/w 这些,则需要重新启动。

查看模式的一种快速方法是在命令提示符下 运行ning "bcdedit" 查看当前配置。

  1. 禁用 Hyper-V 运行:

bcdedit /set hypervisorlaunchtype off

  1. 重新打开 Hyper-V 运行:

bcdedit /set hypervisorlaunchtype auto

但是,在这两种情况下您都需要重新启动。我刚刚提到了一种简单的配置方法,可以让您了解在 Type 1 和 Type 2 hyper-visor 模式之间切换时引导加载程序中发生的情况。

您不能同时拥有 Hyper-V 和 VirtualBox。但如果您愿意,可以使用较旧的 docker toolbox。与 Window 的 Docker 不同,Docker Toolbox 使用 VirtualBox,因此您将不需要 Hyper-V。