Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
1.6k views
in Technique[技术] by (71.8m points)

macos - 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!

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

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.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...