我想在我的macbook pro中运行docker但是我的眼睛出现了一个错误。
首先,我认为我的cpu没有虚拟化功能。但是当我运行" sysctl -a | grep machdep.cpu.features",我发现我错了
我的cpu有VMX.So,有人可以告诉我如何在我的计算机中启用虚拟化功能来运行docker。 还有什么,我的笔记本电脑是mackbook7.1(13英寸,2010年中) 期待你的回答。
答案 0 :(得分:2)
官方文档在这里:What to know before you install。
“入门”文档描述了以下先决条件:
- Mac必须是2010或更新型号,具有英特尔对内存管理单元(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型号的信息,在我的例子中是英特尔酷睿i5-760处理器。
$ sysctl -n machdep.cpu.brand_string
Intel(R) Core(TM) i5 CPU 760 @ 2.80GHz
此型号信息可用于Intel Ark网站,以查找处理器的特定详细信息。例如:http://ark.intel.com/products/48496/Intel-Core-i5-760-Processor-8M-Cache-2_80-GHz199。如果您有另一个CPU,请访问ark.intel.com并使用搜索框输入您的模型。
在详情页面上,我注意到了" Advanced Technologies"部分我的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一起使用。