在 Windows 上安装后无法启动 docker

Posted

技术标签:

【中文标题】在 Windows 上安装后无法启动 docker【英文标题】:Cannot start docker after installation on Windows 【发布时间】:2016-08-21 12:35:31 【问题描述】:

我是 Docker 新手。安装 Docker Toolbox(操作系统:Windows 10)后,我运行 Docker Quickstart Terminal,在控制台中看到:

Running pre-create checks...
Error wirh pre-create check: "Hyper-V is installed. VirtualBox won't boot a 64bits VM when Hyper-V is activated. It it's installed but deactivated, you can use --virtualbox-no-vtx-check to try anyways"
Look like something went wrong in step 'Checking if machine default exists'...
Press any key to continue...

我做错了什么?所有系统检查和安装步骤均来自here。

非常感谢您的帮助!

【问题讨论】:

您是否尝试过卸载/停用 Hyper-V?或者尝试使用 --virtualbox-no-vtx-check 运行?如果是这样,您仍然会收到错误吗? 您的系统虚拟化是否处于活动状态?如文档所示? 停用 Hyper-V 解决了这个问题!谢谢大家 @DenisStarkov 您是否忽略/收到警告“Hyper-V 功能未启用。您要启用它以使 Docker 能够正常工作吗?您的计算机将自动重新启动。注意:Docker工具箱将不再工作。” Virtualization enabled but not being displayed windows 10 【参考方案1】:

Hyper-V 和 VirtualBox 相互冲突。

您可以卸载 Hyper-V 或运行

docker-machine create -d virtualbox --virtualbox-no-vtx-check test

Source

【讨论】:

卸载 hyper-V 对我没有帮助,当我这样做时,它只是在预安装检查中停滞不前。不过,运行替代方案似乎可行。 使用Windows 10,运行此命令连续蓝屏两次 @deFreitas 此处不可重现 这可行,但创建的 VM 实例存在一些问题……这会导致另一个 Hyper-V 错误。 discuss.erpnext.com/t/…【参考方案2】:

我遇到了同样的问题,this 博客文章解决了它。作者带你完成了将--virtualbox-no-vtx-check标志添加到docker shell脚本的步骤。

Virtualbox 和 Hyper-V 不能很好地配合使用。我不是作者。

【讨论】:

【参考方案3】:

Docker supports Hyper-V as the driver

您需要执行以下步骤:

创建一个虚拟交换机,具体方法请参考this article

使用该网络交换机和 hyper-V 驱动程序创建一个 docker 机器。

docker-machine create -d hyperv --hyperv-virtual-switch "name of the virtual switch created above" default

【讨论】:

驱动是 -d 吗? 我按照这些指示,仍然得到同样的错误。我还应该尝试什么? 谢谢。这对我有用。就像 SELinux:不要只是禁用它,而是使用它 感谢您的修复,我不得不采取一个额外的步骤,因为按照您的步骤操作后它仍然抛出一个新错误Hyper-V PowerShell Module is not available:请按照以下步骤操作:github.com/docker/machine/issues/4424#issuecomment-377727985【参考方案4】:

我使用 Windows 功能关闭了 Hyper-V,它对我有用。

【讨论】:

另外,如果你安装了 docker,当它提示你启动 Hyper V 时,你需要点击取消。如果你想使用 docker-toolbox【参考方案5】:

我在 Windows 10 机器上安装 Docker Toolbox 时遇到了同样的错误。

解决办法:

    安装 Docker Community Edition(不是 Docker 工具箱) 启用 Hyper-V

打开控制面板 -> 系统和安全 -> 程序(左侧面板) -> 打开或关闭 Windows 功能 -> 选中 Hyper-V 框

截至 2017 年的 Win 10,如果您没有 Hyper-V 选项,那么您的 Windows 操作系统不是企业版。此外,Docker 似乎在 Intel 处理器(不是 AMD)上工作得更好。

    将 C:\Program Files\Docker\Docker\resources\bin 添加到环境变量中的路径。 打开 Git Bash 并输入 docker-compose up,现在该命令应该可以工作了。

如果你没有 GitBash,请下载它。

【讨论】:

明确地说,Docker Toolbox 是 Docker for Windows 之前的一个旧工具。它安装了用于运行我们需要的 Linux 虚拟机的 VirtualBox。然后是 HyperV 和 Windows 10,它们支持虚拟机管理程序,让您可以在本地运行容器。您不再需要 Docker 工具箱。它被 Docker Compose 所包含。【参考方案6】:

看看你什么时候跑:

docker-machine create -d hyperv --hyperv-virtual-switch "Virtual Switch" default

你会得到Error with: pre-create check: "Hyper-V PowerShell Module is not available"

如果是这样,只需在 Docker 中启用(桌面上的图标)->设置->在 TCP 上公开守护进程 ...

【讨论】:

非常感谢。超级:)【参考方案7】:

我按下了键盘上的 Windows 按钮。键入“Hyper-V 管理器”。它打开了“Hyper-V 管理器”。然后我右键单击我的机器名称。有一个“停止”选项。我选择了这个选项。它停止了我机器上的“Hyper-V”,然后 Kitematic 工作正常,即它下载了 hello-world-nginx 并显示了网页。

注意:这很奇怪,我不知道为什么。完成上述步骤后,现在当我使用 Hyper-V 管理器重新启动 Hyper-V 时,Kitematic 仍在工作并下载图像。任何人都可以评论为什么当 Hyper-V 也在运行时它现在仍在工作?谢谢。

好 阿里阿山

【讨论】:

【参考方案8】:

@Gene 建议的解决方案是正确的,并且在以下情况下完美运行:

    一个有windows pro版 Hyper-V 管理工具和 Hyper-V 平台均已启用

有时情况并非总是如此;这是做什么:

检查 Windows 版本:

要检查哪个版本,请右键单击 Windows 键并选择系统。 向下滚动到 Windows 规范并查看 [Edition]

检查 Hyper-V 平台(虚拟化)

要启用 Hyper-V 平台,必须开启虚拟化;通常这是通过 Bios 完成的。

在惠普笔记本电脑上,这是通过 BIOS 完成的。

在启动时点击 Ctrl+F10 按右箭头键进入系统配置选项卡。 选择虚拟化技术,然后按 Enter 键。 选择已启用并按 Enter 键。

完成这些步骤后:

    搜索打开或关闭 Windows 功能。 向下滚动到 Hyper-V 勾选此框(确保您看到的不是表示某些功能未启用的黑框)

重启后 docker 应该正在运行...祝你好运!!

【讨论】:

【参考方案9】:

您需要在虚拟机启动前禁用 Hypervisor 以检查使用 VT-x 的新应用程序:

    以管理员身份打开命令提示符

    运行bcdedit 以检查管理程序状态:

    检查管理程序启动类型。

    如果设置为自动则禁用它:

    bcdedit /set hypervisorlaunchtype off 
    

    重启主机并再次启动 VirtualBox

执行上述步骤后,我再次打开 Docker Quickstart 终端,它工作正常。

【讨论】:

以上是关于在 Windows 上安装后无法启动 docker的主要内容,如果未能解决你的问题,请参考以下文章

windows下安装Docker Toolbox,启动docker失败.求助

Docker安装启动过程

Docker Desktop 无法在 Windows 10 上启动 docker 守护进程

Docker 无法在 Windows 上启动

mongodb安装到windows服务后,无法启动

windows安装docker,快捷启动方式无法启动