在Windows上同居Docker&VirtualBox

Docker使用Hyper Vfunction,所以必须启用Docker才能正常工作。 然而,VirtualBox必须禁用Hyper Vfunction才能正常工作(可以创buildguest虚拟机并模拟它们,但只有在32位机器的情况下才可以)。

有没有什么办法可以和他们健康的同居,让他们同时工作? 而不是启用/禁用Hyper V选项并每次重新启动?

没有没有。

只要像我一样做,并在Hyper-V中创建这些虚拟机。 Hyper-V是超快的,唯一的问题是图形。 还有NAT和共享文件夹。

我安装了Xserver for Windows(xming),并将显示从虚拟机发送到桌面,完美运行。

  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桌面。 您可以减少面板,也可以隐藏桌面窗口。 它工作得很好,很好地与Windows桌面集成

更新检查您的虚拟机和您的主机不会得到相同的IP。 如果发生,请在您的虚拟机中放入一个静态IP。

我理解你的痛苦点,但AFAIK这是不可能实现的,因为你提到的虚拟化技术是不同的。

Hyper-V是在主机硬件上运行的“Type 1”超级遮阳板。 其他示例包括Citrix Xenserver和VmWare ESXi。 Virtual Box是在OS中运行的“Type 2”托管超级面镜。 其他的例子包括VmWare播放器。

如果您需要切换这些,重新启动是显而易见的。

查看模式的快速方法是从命令提示符运行“bcdedit”以查看当前配置。

  1. 要禁用Hyper-V运行:

bcdedit /设置hypervisorlaunchtype关闭

  1. 要运行Hyper-V,请执行以下操作:

bcdedit /设置hypervisorlaunchtype自动

但是,您将需要在两种情况下重新启动。 我刚刚提到了一种简单的配置方式,可以让您了解在类型1和类型2超级遮阳板模式之间切换时,引导加载程序中发生了什么。

你不能把Hyper-V和VirtualBox放在一起。 但是如果你愿意,你可以使用旧的码头工具箱 。 与Docker for Window不同的是,Docker Toolbox使用了VirtualBox,然后你将不需要Hyper-V。

如果您安装Docker for Windows的测试版频道,它将为您提供运行Linux的Hyper-V虚拟机,它与在Windows上本机运行的Docker共存。

然后,您可以在同一个Windows盒子上轻松切换Windows和Linux Docker引擎 。