我想在我的 macbook pro 上运行 docker,但我看到一个错误。
首先,我认为我的CPU没有虚拟化功能。但是当我运行“sysctl -a | grep machdep.cpu.features”时,我发现我错了
我的CPU有VMX。那么,有人可以告诉我如何在我的计算机中启用虚拟化功能来运行docker。 另外,我的笔记本电脑是macbook7.1(13英寸,2010年中) 期待您的答复。
官方文档在这里:安装前需要了解什么。
这个线程提到了:
入门文档描述了以下先决条件:
- Mac 必须是 2010 年或更新的型号,具有 Intel 对内存管理单元 (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 并使用搜索框输入您的型号。
在详细信息页面上,我注意到在“高级技术”部分下我的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 一起使用。
请检查并验证 macbook pro 芯片是 M1 芯片还是 Intel 芯片,并相应使用相同的 docker 桌面。
查看官方文档这里。