【问题标题】:Cannot run docker based Windows container in Windows 10 VirtualBox VM on Mac OS X host无法在 Mac OS X 主机上的 Windows 10 VirtualBox VM 中运行基于 docker 的 Windows 容器
【发布时间】:2017-08-12 21:18:45
【问题描述】:

当我尝试使用以下命令运行基于 docker 的 Windows 容器时出现以下错误:

docker pull microsoft/dotnet-framework
docker run -it microsoft/dotnet-framework cmd

docker:来自守护进程的错误响应:容器 31112532fbefca415cfb10134612cf4467c084e93e699b7caa320ca60f5df266 在 CreateContainer 期间遇到错误:Windows 系统调用失败:此系统上不存在管理程序。 (0xc0351000)

Docker for Windows 是在 Macbook Pro(基于 Intel,2016,OS X El Capitan)上的 Windows 10 Pro VM(使用 VirtualBox)中设置的。在 Docker 的设置中,我切换到使用 Windows 容器。 OS X 是否存在特定问题?因为我可以在运行 Windows 10 Pro 的 PC 上完成这项工作。

【问题讨论】:

  • 看看这个帖子对你有没有帮助baswijdenes.com/portfolio/hyper-v-in-virtualbox-guide。还要检查 Windows 10 VM 是否安装了 hyper-v 并且运行良好。如果没有,那么您需要更改加速设置以在 VM 中启用 VM
  • @TarunLalwani 我查看了那个帖子。那篇文章中的大多数 PowerShell 命令都不适用于 Windows 10。我已通过 Windows 功能管理在 Windows 10 VM 中启用了容器和 Hyper-V 功能。 VM 的 VirtualBox 设置在 Acceleration 下显示以下内容:VT-x/AMD-V, Nested Paging, PAE/NX, Hyper-V Paravirtualization,所以我不确定我还应该做什么。
  • 您能否在虚拟机中手动启动 Hyper-V?

标签: windows macos docker virtualbox hyper-v


【解决方案1】:

在 Windows 10 上运行 Docker Windows 容器时,需要 Hyper-V。这不适用于 VirtualBox,因为 VirtualBox does not support nested virtualization

相反,您应该在 VirtualBox VM 中安装 Windows Server 2016 (WS2016)。 WS2016 可以运行带有进程隔离的 Docker Windows 容器,不需要 Hyper-V。

您可以trial WS2016 for freeStefan Scherer maintains a set Vagrant scripts that automate setup and configuration

【讨论】:

  • 感谢您对此的解释以及所有链接!
猜你喜欢
  • 1970-01-01
  • 2017-09-20
  • 2019-10-13
  • 1970-01-01
  • 2014-02-06
  • 1970-01-01
  • 2017-09-16
  • 2020-09-28
  • 1970-01-01
相关资源
最近更新 更多