如何在macbook pro中运行docker时启用虚拟化function
我想运行我的MacBook Pro中的docker,但一个错误来到我的眼睛。
首先,我认为我的CPU没有虚拟化function,但是当我运行“sysctl -a | grep machdep.cpu.features”时,我发现我错了
我的CPU有VMX.So,有人可以告诉我如何启用我的电脑虚拟化function来运行docker。 更重要的是,我的笔记本电脑是mackbook7.1(13英寸,2010年中)预计你的答案。
官方文档在这里: 安装之前需要知道的东西 。
这个线程提到 :
“入门”文档介绍了以下先决条件:
- Mac必须是2010年或更新的型号,英特尔硬件支持内存pipe理单元(MMU)虚拟化; 即扩展页表(EPT)
我已经对MMU和EPT部分进行了一些研究。 从https://en.wikipedia.org/wiki/X86_virtualization31我发现EPT是VT-x的一部分。 MMU是VT-d的一部分。
总之,这意味着CPU应该同时支持VT-x和VT-d。由于要求描述“Mac必须是2010年或更新的模型…”我做了我的安全的假设。 无论哪种方式,我能够在我的iMac中查找有关CPU的更多信息。 使用sysctl命令为您提供有关CPU型号的信息,在我的情况下是Intel Core i5-760处理器。
$ sysctl -n machdep.cpu.brand_string Intel(R) Core(TM) i5 CPU 760 @ 2.80GHz
英特尔方舟网站上可以使用此型号信息来查找处理器的具体细节。 例如: http : //ark.intel.com/products/48496/Intel-Core-i5-760-Processor-8M-Cache-2_80-GHz199 。 如果您有另一个CPU,请访问ark.intel.com并使用search框input您的模型。
在详细信息页面,我注意到在“高级技术”部分,我的CPU不支持VT-x,但不支持VT-d。
所以这将解释为什么Docker for Mac不能在我的iMac上运行。
注意:如果支持EPT,VT-d和VT-x,请检查您的BIOS以启用它们。
XHyve需要Hypervisor框架:
在OS X上,知道您的CPU是否符合所有
Hypervisor.framework
要求的方法是通过检查sysctl kern.hv_support
键的值。
$ sysctl kern.hv_support kern.hv_support: 1
- 如果它是1,那么你的CPU是支持的。
- 如果是0,则表示Hypervisor.framework不能用于CPU,出于某种原因。