我可以在虚拟机中运行Docker吗?

我试图在虚拟机上运行Docker。

Host : MAC BOOK VM : Parallels Windows 7 

并发生错误。

在这里输入图像说明

可能吗?

您在Windows VM中使用Docker Machine,实际上是在Mac上的Windows VM中创build一个Linux VM。 你可以这样做,但是你需要启用嵌套虚拟化 – 我不确定你可以在Parallels 7中做什么。

相反,您可以直接在Mac上运行Docker Machine,并使用Parallels创buildLinux VM – 这意味着Docker在Mac上的Linux VM中运行,并且不需要嵌套虚拟化。

或者,如果您的操作系统支持,最好使用Docker for Mac ,这是最新的产品,并且比Docker Machine具有更好的主机集成。

如果虚拟机是一个Linux,你可以做到这一点没有任何问题 – 在Linux上,Docker本质上是一个工作良好的chroot。 因此,Linux docker不是虚拟化。

在Windows的情况下,并不那么容易。 Windows docker在内部使用Hyper-V来模拟容器。 这意味着你只能运行,如果你可以使用嵌套的虚拟化:

  1. 在你的主机上运行一个Windows虚拟机
  2. 在你的Windows VM里面运行一个HyperV
  3. HyperV由安装在虚拟Windows上的dockerpipe理。

我试过qemu / kvm,virtualbox和vmware播放器。 我深深地configuration了他们,我已经黑了他们,我尽了一切办法。 只有最后工作(VMWare)。

速度成本非常高,但是在Linux上进行开发可能会有所帮助,然后在Windowsconfiguration上进行试用testing。

你将需要很多内存。 至less16G。 32G比较好。 一个相对有用的configuration将是:

  • 32GB物理内存的物理主机
  • 运行在其上的Windows VM为12GB虚拟内存
  • HyperV Linux主机的Windows VM内的 8GB虚拟内存。

有时候它会有点bug,但是只有你的HyperV会崩溃,你的虚拟Win,或者你的主机不会。 在Windows机器上testingDocker容器是可以的,你在Linux上开发的是什么。 不要以这种方式创build关键任务服务器。 🙂