我可以在Mac的VirtualBox虚拟机中安装Docker吗?

3

我有一个运行在Windows 10 Home上VirtualBox虚拟机中的Mac Sierra 10.12操作系统。

我想在这个Mac虚拟机内运行Docker,但是当我尝试时会出现以下错误信息:

错误

检测到不兼容的CPU。

很抱歉,您的硬件与Docker Desktop不兼容。

Docker需要具有虚拟化功能和Hypervisor支持的处理器。

要了解更多信息,请参阅:

https://docs.docker.com/docker-for-mac/troubleshoot

我知道我的计算机(HP Envy,Intel Core i5)已启用Hyper-V。据我所知,这不是硬件问题。我的i5处理器支持Hyper-V,因此也支持SLAT即EPT。我非常确认是VM设置引起了此问题。

我无法使用Docker Toolbox,因为我需要特定于Mac的Docker Desktop才能在我的VM内运行一些Beta软件。

如果有人能帮助我在Mac虚拟机中运行Docker,那将非常感激。

PS。由于我不太精通技术,所以希望提供适合新手的说明。谢谢!


请问您能否检查一下VirtualBox中的VM系统设置中是否启用了硬件虚拟化>启用VT-X/AMD-V选项? - Mostafa Hussein
嗨,Mostafa,此设置确实已启用。 - lottieholland
1个回答

0

我猜在这种情况下可能是硬件限制?Intel在其Core i7(Nehalem)处理器中添加了对嵌套分页的支持,他们称之为扩展页面表(EPT)。https://www.virtualbox.org/manual/ch10.html - Mostafa Hussein
问题不在于CPU。Virtual Box对这样的功能不透明。 - atlascoder
我的CPU具有EPT,因此我符合硬件要求。我同意嵌套虚拟化(VM内的VM)不受VB支持。然而,VB似乎支持EPT(https://www.virtualbox.org/manual/ch10.html#nestedpaging)。我认为问题在于我的主机上的VirtualBox和VM内的Docker都同时尝试使用EPT?这有道理吗?也许通过更改一些VB设置可以解决这个问题? - lottieholland
1
@lottieholland,原因在于VB是作为消费者还是提供者来支持此功能。从您提供的链接中,我了解到VB作为消费者支持EPT,但我怀疑它作为提供者时是否支持。 - atlascoder

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接