在 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失败.求助