【发布时间】:2017-02-04 19:48:23
【问题描述】:
【问题讨论】:
-
请您提供更多信息,因为这就像您尝试在其他虚拟机中的虚拟机上启动一样。
-
这就像盗梦空间
标签: docker virtual-machine parallels
【问题讨论】:
标签: docker virtual-machine parallels
如果 VM 是 Linux,您可以毫无问题地执行此操作 - 在 Linux 上,Docker 本质上是一个运行良好的 chroot。因此,Linux docker 不是虚拟化。
在 Windows 的情况下,这并不容易。 Windows Docker 在内部使用 Hyper-V 来模拟容器。这意味着只有在可以使用嵌套虚拟化的情况下才能运行:
我尝试了 qemu/kvm、virtualbox 和 vmware player。我对它们进行了深入而强大的配置,我已经破解了它们,我尽了一切可能。只有最后一个工作(VMWare)。
有很大的速度成本,但它可能对在 Linux 上进行开发,然后在 Windows 配置上进行试用测试有用。
您将需要大量内存。至少16G。 32G更好。一个相对有用的配置是:
有时它会有点问题,但只有你的 HyperV 会崩溃,你的虚拟 Win 或者你的主机不会。在 Windows 机器上测试 docker 容器是可以的,你在 Linux 上开发的。不要以这种方式创建关键任务服务器。 :-)
【讨论】:
您在您的 Windows 虚拟机中使用 Docker Machine,它实际上将在您的 Mac 上的 Windows 虚拟机中创建一个 Linux 虚拟机。您可以这样做,但您需要 enable nested virtualization - 我不确定您是否可以在 Parallels 7 中这样做。
您可以直接在 Mac 上运行 Docker Machine,use Parallels to create the Linux VM - 这意味着 Docker 在您 Mac 上的 Linux VM 中运行,您不需要嵌套虚拟化。
或者如果您的操作系统支持,最好使用Docker for Mac,它是最新产品,并且比 Docker Machine 具有更好的主机集成。
【讨论】:
--network host 至少是 Mac/Windows 的“本机”Docker 的一个缺点
如果您要使用 Windows 10 专业版或企业版和 Hyper-V,那么您只需启用 nested virtualization。在您的主机上,只需运行(关闭您的客人):
> Set-VMProcessor -VMName <VMName> -ExposeVirtualizationExtensions $true
现在您可以正常启动访客并运行 Docker Desktop。
【讨论】:
工作得很好。基础操作系统 win 10 pro 和 VirtualBox 版本:6.1 和 vagrant with ubuntu 20.04。 Using vagrant box 关注 docker instructions。使用vagrant public network 无需端口转发,所有应用都可以访问。
【讨论】: