在Windows

时间:2016-04-27 09:39:59

标签: windows docker virtual-machine

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

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

非常感谢你的帮助!

9 个答案:

答案 0 :(得分:39)

Hyper-V和VirtualBox相互冲突。

您可以卸载Hyper-V或运行

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

Source

答案 1 :(得分:29)

Docker supports Hyper-V as the driver

您需要执行以下步骤:

  • 创建虚拟交换机,请参阅this article了解如何执行此操作

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

    {{1}}

答案 2 :(得分:10)

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

解决方案:

  1. 安装Docker Community Edition(不是Docker Toolbox)
  2. 启用Hyper-V
  3. 打开控制面板 - >系统和安全 - >程序(左图) - >打开或关闭Windows功能 - >检查Hyper-V框

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

    1. 将C:\ Program Files \ Docker \ Docker \ resources \ bin添加到环境变量中的路径。
    2. 打开Git Bash并输入docker-compose up,现在该命令应该有效。
    3. 如果您没有GitBash,请下载它。

答案 3 :(得分:3)

我遇到了同样的问题,this博客帖子解决了这个问题。作者将指导您完成将--virtualbox-no-vtx-check标志添加到docker shell脚本的步骤。

Virtualbox和Hyper-V不能很好地协同工作。我不是作者。

答案 4 :(得分:2)

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

答案 5 :(得分:2)

查看是否在运行:

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上公开守护进程...

答案 6 :(得分:1)

您需要禁用虚拟机监控程序才能在虚拟机启动之前检查使用VT-x的新应用程序:

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

  2. 运行bcdedit来检查虚拟机监控程序状态:

  3. 检查系统管理程序启动类型。

  4. 如果设置为自动,则将其禁用:

    bcdedit /set hypervisorlaunchtype off 
    
  5. 重新启动主机并再次启动VirtualBox

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

答案 7 :(得分:0)

我按下了键盘上的Windows按钮。输入“ Hyper-V管理器”。它打开了“ Hyper-V管理器”。然后,我右键单击我的计算机名称。可以选择“停止”。我选择了此选项。它停止了我机器上的“ Hyper-V”,然后Kitematic正常运行,即下载了hello-world-nginx并显示了网页。

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

好 阿里·阿山(Ali Ahsan)

答案 8 :(得分:0)

@Gene建议的解决方案是正确的,并且在以下情况下可以完美地工作:

  1. 一个有Windows专业版
  2. 同时启用了Hyper-V管理工具和Hyper-V平台

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

检查Windows版本:

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

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

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

一台HP笔记本电脑是通过BIOS完成的。

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

完成这些步骤后,即可:

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

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