Search code examples
macosdockervirtualboxhypervisordocker-desktop

Can I install Docker inside a Mac VirtualBox VM?


I have a Mac Sierra 10.12 OS virtual machine, hosted on Windows 10 Home using VirtualBox.

I would like to run Docker inside this Mac VM, but when I try, I get the below error message:

Error

Incompatible CPU detected.

We are sorry, but your hardware is incompatible with Docker Desktop.

Docker requires a processor with virtualization capabilities and hypervisor support.

To learn more about this issue, see:

https://docs.docker.com/docker-for-mac/troubleshoot

I know that my machine (HP Envy, intel core i5) has Hyper-V enabled. As far as I can tell, it is NOT a hardware issue. My i5 processor supports Hyper-V therefore supports SLAT ie EPT. I am very sure it is something to do with my VM settings which is causing the issue.

I am unable to use Docker Toolbox instead, as I need Docker Desktop for Mac specifically to run some Beta software inside my VM.

If anyone is able to help me run Docker using my Mac VM the help would be greatly appreciated.

PS. My knowledge is very limited as I am not techy, so noob-compatible instructions would be great! Thanks!


Solution

  • Docker Desktop for Mac uses HyperKit (see https://docs.docker.com/docker-for-mac/install/), which in turn uses xhy.ve that requires CPU EPT (https://en.wikipedia.org/wiki/Second_Level_Address_Translation#EPT, https://github.com/moby/hyperkit).

    People say that nested virtualization is not yet supported by VB - see https://forums.virtualbox.org/viewtopic.php?f=7&t=86922.

    So I suspect that VB does not provide EPT feature and thus Docker Desktop cannot run.