返回

Docker 安装后容器启动失败?这些方法帮你轻松解决!

windows

Docker 安装后无法启动容器:深入解析和解决指南

问题

在 Windows 10 系统上安装 Docker Toolbox 后,用户可能会在 Docker Quickstart 终端中遇到无法启动 Docker 容器的问题,并提示错误信息:

预创建检查错误:“已安装 Hyper-V。当 Hyper-V 处于激活状态时,VirtualBox 无法启动 64 位虚拟机。如果已安装但处于停用状态,则可以使用 --virtualbox-no-vtx-check 尝试”

原因分析

此错误表明系统中同时安装了 Hyper-V 和 VirtualBox,且 Hyper-V 处于激活状态。在这种情况下,VirtualBox 无法启动 64 位虚拟机。

解决方案

要解决此问题,需要以下步骤:

  • 停用 Hyper-V:

    • 打开“控制面板”>“程序和功能”>“启用或关闭 Windows 功能”。
    • 取消选中“Hyper-V”复选框。
    • 单击“确定”以应用更改。
  • 使用 --virtualbox-no-vtx-check 参数重新启动 Docker:

    • 在 Docker Quickstart 终端中,输入:
      docker-machine start default --virtualbox-no-vtx-check
      

避免问题重现

为了避免将来出现此问题,建议:

  • 安装 Docker Toolbox 之前卸载 Hyper-V。
  • 同时使用 Hyper-V 和 Docker 时:
    • 卸载 Hyper-V,安装 Docker Toolbox。
    • 启用 Hyper-V。
    • 在使用 Docker 前,使用以下命令关闭 Hyper-V:
      bcdedit /set hypervisorlaunchtype off
      
    • 完成 Docker 操作后,使用以下命令重新启用 Hyper-V:
      bcdedit /set hypervisorlaunchtype auto
      

常见问题解答

问:关闭 Hyper-V 会影响其他依赖它的应用程序吗?

答:是的,请在关闭 Hyper-V 之前关闭所有依赖它的应用程序。

问:--virtualbox-no-vtx-check 参数有什么作用?

答:此参数绕过 VirtualBox 对 Hyper-V VTX 支持的检查。

问:同时使用 Hyper-V 和 Docker 时,为什么需要关闭 Hyper-V?

答:VirtualBox 无法在 Hyper-V 激活时启动 64 位虚拟机。

问:我可以卸载 VirtualBox 并仅使用 Hyper-V 吗?

答:可以,但 Docker 需要 VirtualBox 在 Windows 系统上创建虚拟机。

问:如何检查 Hyper-V 的激活状态?

答:打开“命令提示符”,输入:

systeminfo | findstr /C "Hyper-V Virtualization"