如何在MacBook Pro中运行Docker时启用虚拟化功能

pftdvrlh  于 2023-06-05  发布在  Docker
关注(0)|答案(2)|浏览(395)

我想在我的macbook pro上运行docker。但是我看到一个错误。

首先,我认为我的cpu没有虚拟化功能。但是当我运行“sysctl -a| grep machdep.cpu.features”,我发现我错了

我的CPU有VMXidero,有没有人能告诉我如何在我的计算机中启用虚拟化功能来运行Docker。更重要的是,我的笔记本电脑是mackbook7.1(13英寸,2010年中)期待您的答案。

h43kikqp

h43kikqp1#

官方文档在这里:安装前需要知道的事
thread mentions
入门文档介绍了以下先决条件:

  • 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型号的信息,在我的示例中是Intel Core i5-760处理器。

$ sysctl -n machdep.cpu.brand_string
Intel(R) Core(TM) i5 CPU         760  @ 2.80GHz

此型号信息可在Intel方舟网站上用于查找处理器的具体细节。例如: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一起使用。
pqwbnv8z

pqwbnv8z2#

请检查并验证macbook pro芯片是M1芯片还是英特尔芯片,并相应地使用相同的docker桌面。

相关问题