我可以在虚拟机中运行Docker吗?
您在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更好的主机集成。
如果虚拟机是一个Linux,你可以没有任何问题 - 在Linux上,Docker基本上是一个运行良好的chroot。因此,Linux docker不是虚拟化。
在Windows的情况下,并不那么容易。 Windows docker使用内部Hyper-V来模拟容器。这意味着您可以只运行,如果你可以使用嵌套的虚拟化:
- 在你的主机上运行的Windows VM
- 里面您的Windows虚拟机,运行Hyper-V的
- 的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上开发的是什么。不要以这种方式创建关键任务服务器。 :-)
“如果虚拟机是Linux,那么可以毫无问题地执行此操作。”你的意思是没有性能成本?如果是这样,是否有可能提供一些解释这些的链接? –
@MarinosAn虚拟化没有性能成本,因为linux docker本质上是一个运行良好的chroot。在Windows上,docker是一个超级虚拟机,运行Linux,运行Linux docker。 – peterh
不具说服力。 –
请你能提供更多的信息,因为它就像你试图在vm里面启动vm。 – c4f4t0r