2016-09-27 238 views

回答

5

您在Windows VM中使用Docker Machine,实际上是要在Mac上的Windows VM中创建一个Linux VM。你可以这样做,但你需要enable nested virtualization - 这我不知道,你可以做的Parallels 7

相反,你可以在Mac上直接运行泊坞窗机和use Parallels to create the Linux VM - 这意味着码头工人是在Linux虚拟机中运行在你的Mac上,你不需要嵌套的虚拟化。

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

+0

相似11 /和虚拟窗口7.不平行7. – shkim

+0

谢谢。并会尝试嵌套虚拟化。我很抱歉,我不能很好地写英文。 – shkim

11

如果虚拟机是一个Linux,你可以没有任何问题 - 在Linux上,Docker基本上是一个运行良好的chroot。因此,Linux docker不是虚拟化。

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

  1. 在你的主机上运行的Windows VM
  2. 里面您的Windows虚拟机,运行Hyper-V的
  3. 的Hyper-V是由安装在泊坞窗管理在你的虚拟Windows上。

我试过qemu/kvm,virtualbox和vmware播放器。我对它们进行了深入而强烈的配置,我已经对它们进行了攻击,我尽一切可能去做。只有最后的工作(VMWare)。

速度成本很高,但它可能对Linux上的开发有用,然后在Windows配置上进行试用测试。

您将需要大量内存。至少16G。 32G更好。的相对有用的配置是:

  • 32GB的物理主机的物理内存
  • 12GB的虚拟内存在它上面运行Windows VM
  • 8GB虚拟RAM 在Windows VM内的Hyper-V的Linux主机。

有时它会有点bug,但只有你的HyperV会崩溃,你的虚拟Win或你的主机不会。在Windows机器上测试docker容器是可以的,你在Linux上开发的是什么。不要以这种方式创建关键任务服务器。 :-)

+0

“如果虚拟机是Linux,那么可以毫无问题地执行此操作。”你的意思是没有性能成本?如果是这样,是否有可能提供一些解释这些的链接? –

+0

@MarinosAn虚拟化没有性能成本,因为linux docker本质上是一个运行良好的chroot。在Windows上,docker是一个超级虚拟机,运行Linux,运行Linux docker。 – peterh

+0

不具说服力。 –

相关问题