答案 0 :(得分:31)
如果VM是Linux,你可以毫无问题地做到这一点 - 在Linux上,Docker本质上是一个运作良好的chroot。因此,Linux docker不是虚拟化。
在Windows的情况下,它并不那么容易。 Windows Docker内部使用Hyper-V来模拟容器。这意味着只有在可以使用嵌套虚拟化的情况下才能运行:
我尝试了qemu / kvm,virtualbox和vmware播放器。我深深地和强烈地配置了它们,我已经砍掉了它们,我尽一切可能去做。只有最后一个工作(VMWare)。
速度成本很高,但它可能对Linux上的开发有用,然后对Windows配置进行试用。
你需要很多公羊。至少16G。 32G更好。一个相对有用的配置是:
有时会出现一点点错误,但只有你的HyperV会崩溃,你的虚拟Win或你的主机都不会。可以在Windows机器上测试docker容器,这是在Linux上开发的。不要以这种方式创建关键任务服务器。 : - )
答案 1 :(得分:18)
您在Windows VM中使用Docker Machine,实际上是在Mac上的Windows VM中创建Linux VM。你可以这样做,但你需要enable nested virtualization - 我不确定你能在Parallels 7中做到这一点。
相反,您可以直接在Mac上运行Docker Machine和use Parallels to create the Linux VM - 这意味着Docker在Mac上的Linux VM中运行,而您不需要嵌套虚拟化。
或者最好使用Docker for Mac如果您的操作系统支持它,它是最新产品,并且具有比Docker Machine更好的主机集成。
答案 2 :(得分:6)
如果要使用Windows 10 Pro或Enterprise和Hyper-V,那么您要做的就是启用nested virtualization。在您的主机上,运行(关闭您的访客):
> Set-VMProcessor -VMName <VMName> -ExposeVirtualizationExtensions $true
现在,您可以启动来宾并正常运行Docker Desktop。
答案 3 :(得分:1)
工作得很好。基本操作系统 win 10 pro 与 VirtualBox 版本:6.1 和 vagrant with ubuntu 20.04。 Using vagrant box 跟随 docker instructions。使用 vagrant public network 无需端口转发即可访问所有应用。