【问题标题】:Error running Docker container on a VMWare hosted Windows 10 machine在 VMWare 托管的 Windows 10 机器上运行 Docker 容器时出错
【发布时间】:2019-02-22 12:54:26
【问题描述】:

我有一台 Windows 10 机器,它托管在 VMWare (vShpere 6.2) 上。我正在尝试在这台机器上运行 docker 容器,并且我已经在这台机器上安装了“Docker for Windows”。 运行 hello-world 容器时出现以下错误。

c:\> docker run hello-world
docker: Error response from daemon: container b631237e1d24f87c3a578a753f550ce30aaaf1b5e21b984db5da7b59a83d7c20 encountered an error during CreateContainer: failure in a Windows system call: No hypervisor is present on this system. (0xc0351000) 

相同的说明适用于装有 Windows 10 的物理机。在来宾 windows-10 机器上启用了 Hyper-V。

我在 https://docs.microsoft.com/en-us/virtualization/hyper-v-on-windows/user-guide/nested-virtualization 上找到了说明,但这与 Hyper-V 而不是 vmware 有关。

是否有关于如何在 VMWare 托管的 Windows 操作系统上运行 docker 的说明?我使用“Docker for Windows”的目的是为了能够在 vware 上的 windows-10 来宾操作系统上运行 windows-continer。

【问题讨论】:

    标签: docker virtual-machine vmware


    【解决方案1】:

    安装 VMWare WorkStation 16.x.x。 设置 -> 选项 -> 高级 ->(勾选)为启用 Hyper-V 的主机禁用侧通道缓解

    【讨论】:

      【解决方案2】:

      安装最新的 vmware 工作站 > 15.5.5 版本

      Hyper-V Host支持

      随着 VMware Workstation/Player 15.5 的发布。 5或>,我们是 非常兴奋和自豪地宣布支持 Windows 主机 启用 Hyper-V 模式!如您所知,这是一个联合项目 Microsoft 和 VMware

      https://blogs.vmware.com/workstation/2020/05/vmware-workstation-now-supports-hyper-v-mode.html

      我安装了 VMware.Workstation.Pro.16.1.0

      它解决了我的问题,现在我同时使用 docker 和 vmware,即使我的窗口启用了 Hyper-V 模式

      【讨论】:

        【解决方案3】:

        打开机器电源并打开 BIOS(按照步骤 1)。打开处理器子菜单 处理器设置菜单可能隐藏在芯片组、高级 CPU 配置或北桥中。启用英特尔虚拟化技术(也称为英特尔 VT)或 AMD-V,具体取决于处理器的品牌。

        Hyper V 是 Microsoft 的本机虚拟化技术。 VM-ware 使用处理器提供的虚拟化,大多数情况下该处理器被禁用。如果它被禁用,您将无法在您的机器上运行 docker machine。请尝试在您的 PC 上启用虚拟化这个选项。

        【讨论】:

        • 我目前正在使用虚拟化虚拟机的 WMWare 6.5 服务器。我们在其中一个上安装了 Docker Desktop,但它无法启动。该机器具有将硬件辅助虚拟化暴露给来宾操作系统选项集,但适用于 Linux 或 Windows 的 Docker 无论如何都不起作用。我无权访问 WMWare BIOS,但我的猜测是必须启用虚拟化。运行具有相同配置的 Windows 2016 的类似虚拟机运行 Docker EE。
        • 处理器E5-2630L可能就是这种情况
        • 这肯定是嵌套虚拟化的问题。需要为处理器启用虚拟化,然后需要为 VM 启用嵌套虚拟化。 - 确认虚拟机兼容性为 ESXi 5.1 及更高版本。 - 确认在 BIOS(主机)中启用了 Intel VT-x 或 AMD-V,以便硬件辅助虚拟化成为可能。您不需要访问 VM-Ware BIOS,答案是针对 Bare Metal OS 而不是 VM。请点击链接communities.vmware.com/thread/605185
        【解决方案4】:

        另一个选项是 Docker Toolbox,它不需要 Hyper-V。

        【讨论】:

          【解决方案5】:

          Docker for Windows requires hardware virtualization support 通过 Hyper-V 运行任何东西。这意味着 VMWare 必须向来宾操作系统公开 Intel VT-x 或 AMD-V。这在 vSphere 中默认禁用,因此您必须手动启用它才能在客户机中获得 docker 支持。

          From the vSphere docs:

          1. 右键单击虚拟机并选择编辑设置。

            一个。要定位虚拟机,请选择数据中心、文件夹、 集群、资源池、主机或 vApp。

            b.单击相关对象选项卡,然后单击虚拟机。

          2. 在虚拟硬件选项卡上,展开 CPU,然后选择向来宾操作系统公开硬件辅助虚拟化

          3. 点击确定。

          【讨论】:

          • 我在我的 VM 机器上检查了将硬件辅助虚拟化暴露给来宾操作系统,并在 Windows 10 1903 中检查了任务管理虚拟化。但是 Docker Desktop(Linux 容器)没有启动。
          • 运行 Windows 2016 且配置相同的类似虚拟机运行 Docker EE。
          • 处理器E5-2630L可能就是这种情况
          【解决方案6】:

          根据answer 的类似问题,您可以尝试在 BIOS 中打开虚拟化。查找“Intel VT-x”、“Intel Virtualization Technology”、“Virtualization Extensions”或类似名称。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2017-07-16
            • 2022-08-15
            • 1970-01-01
            • 2019-10-13
            相关资源
            最近更新 更多