如何在macbook pro中运行docker时启用虚拟化功能

时间:2017-10-15 04:40:08

标签: docker docker-compose dockerfile docker-machine

我想在我的macbook pro中运行docker但是我的眼睛出现了一个错误。 enter image description here

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

我的cpu有VMX.So,有人可以告诉我如何在我的计算机中启用虚拟化功能来运行docker。 还有什么,我的笔记本电脑是mackbook7.1(13英寸,2010年中) 期待你的回答。

1 个答案:

答案 0 :(得分:2)

官方文档在这里:What to know before you install

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型号的信息,在我的例子中是英特尔酷睿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。

https://cdn-enterprise.discourse.org/docker/uploads/default/original/2X/e/e42e0a73c3092d05490e3cbbf975b41ecced3979.png

  

这就解释了为什么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一起使用。
  •