Docker使用Hyper Vfunction,所以必须启用Docker才能正常工作。 然而,VirtualBox必须禁用Hyper Vfunction才能正常工作(可以创buildguest虚拟机并模拟它们,但只有在32位机器的情况下才可以)。
有没有什么办法可以和他们健康的同居,让他们同时工作? 而不是启用/禁用Hyper V选项并每次重新启动?
没有没有。
只要像我一样做,并在Hyper-V中创建这些虚拟机。 Hyper-V是超快的,唯一的问题是图形。 还有NAT和共享文件夹。
我安装了Xserver for Windows(xming),并将显示从虚拟机发送到桌面,完美运行。
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”以查看当前配置。
bcdedit /设置hypervisorlaunchtype关闭
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引擎 。