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

新手上路,请多包涵

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

 Host : MacBook
VM : Parallels Windows 7

并发生错误:

在此处输入图像描述

可能吗?

原文由 shkim 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 725
2 个回答

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

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

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

原文由 Elton Stoneman 发布,翻译遵循 CC BY-SA 3.0 许可协议

如果 VM 是 Linux,您可以毫无问题地执行此操作 - 在 Linux 上,Docker 本质上是一个运行良好的 chroot。因此,Linux docker 不是虚拟化。

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

  1. 在您的主机上运行 Windows VM
  2. 在您的 Windows VM 中,运行 HyperV
  3. HyperV 由安装在虚拟 Windows 上的 docker 管理。

我尝试了 qemu/kvm、virtualbox 和 vmware player。我对它们进行了深入而强大的配置,我已经破解了它们,我尽了一切可能。只有最后一个工作(VMWare)。

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

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

  • 用于物理主机的 32GB 物理 RAM
  • 12GB 虚拟 RAM,用于在其上运行的 Windows VM
  • 用于 HyperV Linux 主机 的 Windows VM 内的 8GB 虚拟 RAM。

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

原文由 peterh 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题