无法在Windows 10中启动Docker - 引发Hyper-V错误

时间:2016-12-16 10:48:15

标签: docker windows-10 hyper-v

在Windows 10中启动docker时出现以下错误。任何人都可以指导我正确安装docker吗?

Unable to create: The running command stopped because the preference variable 
"ErrorActionPreference" or common parameter is set to Stop: Hyper-V encountered
an error trying to access an object on computer 'XXXX' because the object was not 
found. The object might have been deleted, or you might not have permission to 
perform the task. Verify that the Virtual Machine Management service on the 
computer is running. If the service is running, try to perform the task again by 
using Run as Administrator.
at New-MobyLinuxVM, <No file>: line 242
at <ScriptBlock>, <No file>: line 362
   at Docker.Backend.HyperV.RunScript(String action, Dictionary`2 parameters)
   at Docker.Backend.ContainerEngine.Linux.Start(Settings settings)
   at Docker.Core.Pipe.NamedPipeServer.<>c__DisplayClass8_0.<Register>b__0(Object[] parameters)
   at Docker.Core.Pipe.NamedPipeServer.RunAction(String action, Object[] parameters)

版本

OS : Windows 10 Enterprise 
Version : 1607 
OS Build : 14393.576
Docker Version : 1.12.3 (Stable)

8 个答案:

答案 0 :(得分:6)

我也遇到过同样的问题。我通过删除所有MobyLinuxVM虚拟机解决了这个问题。以下是它的步骤。

  1. 打开Hyper-V管理器
  2. 从虚拟机中选择所有MobyLinuxVM。
  3. 右键单击并删除所有这些虚拟机。
  4. 重启docker。
  5. 这些步骤已在我的系统上解决了这个问题。

答案 1 :(得分:3)

假设您正在尝试运行Windows容器:

右键单击Docker系统托盘图标,然后选择“切换到Windows容器”。

最终您将重新启动系统,但不会再尝试运行错误消息中提到的MobyLinuxVm。

如果它可以帮助任何人,我使用的是通过Parallels运行Windows 10 VM的Apple硬件(MacOS)。我还确保在我的并行设置下&gt;处理器和存储器&gt;高级,我启用了Hypervision应用程序。

答案 2 :(得分:1)

此问题与另一个问题Docker - The computer 'WINDOWS10-ON-SE' could not be resolved

非常相似

https://stackoverflow.com/a/45099242/279272

上查看我的回答

我也遇到了同样的问题,但它本质上是随机的,我发现这是由于docker启动脚本无法访问网卡。这种不可访问性进一步阻碍了docker的启动过程。

我找到了一个黑客,它在我的Windows机器上工作正常

哈克

在管理员模式下使用任何编辑器打开C:\Program Files\Docker\Docker\resources\mobylinux.ps1。 查找以下代码(第164行)

$networkAdapter | Remove-NetIPAddress -Confirm:$false -ea SilentlyContinue

$networkAdapter | Set-NetIPInterface -Dhcp Disabled -ea SilentlyContinue

$networkAdapter | New-NetIPAddress -AddressFamily IPv4 -IPAddress $switchAddress -PrefixLength ($SwitchSubnetMaskSize) -ea Stop | Out-Null

在第165行之后添加return,如下所示,保存文件。

$networkAdapter | Remove-NetIPAddress -Confirm:$false -ea SilentlyContinue

$networkAdapter | Set-NetIPInterface -Dhcp Disabled -ea SilentlyContinue

return

$networkAdapter | New-NetIPAddress -AddressFamily IPv4 -IPAddress $switchAddress -PrefixLength ($SwitchSubnetMaskSize) -ea Stop | Out-Null

现在重启docker并在重启完成后在dos admin模式下执行以下命令以手动设置网卡

netsh interface ipv4 set address name="vEthernet (DockerNAT)" static 10.0.75.1 255.255.255.0

每当您进行系统重启并且docker完成启动过程(由于任何原因)时,您必须每次都运行此命令。 提示:创建此命令的批处理文件并保存在方便的地方。

注意:ps hack会被任何docker更新撤消。所以要注意......

答案 3 :(得分:1)

在管理员模式下从命令提示符运行“MOFCOMP %SYSTEMROOT%\System32\WindowsVirtualization.V2.mof”。 执行此操作后也无需重新启动计算机,它对我有用。

答案 4 :(得分:1)

要安装docker,需要BIOS级硬件虚拟化支持。 因此您可以执行以下操作。

-确保在启动计算机时在主板设置的BIOS设置中打开了硬件虚拟化支持,在(系统安全=>虚拟化技术VTX =>启用)下,然后保存BIOS设置并启动机器正常。如果未启用hyper v,则可以通过以管理员身份在Powershell中运行以下命令来启用它:

Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All

答案 5 :(得分:0)

对于我来说,将Windows 10专业版更新到版本1809可以解决此问题

答案 6 :(得分:0)

在Windows 10上,我通过执行以下步骤解决了该问题:

法语Windows版本:

  1. 关闭Docker桌面
  2. 转到“应用程序和导航控制”
  3. 单击“利用保护”下的“利用保护参数”
  4. 转到“Paramètresdu program”标签
  5. 搜索“ C:\ Windows \ System32 \ vmcompute.exe”或“ vmcompute.exe”
  6. 单击更新并取消选中与所有配置相关的所有复选框,然后应用
  7. 再次运行Docker Desktop

英语Windows版本:

  1. 关闭Docker桌面
  2. 转到“应用和浏览器控件”
  3. 单击“利用保护”下的“利用保护设置”
  4. 转到“程序设置”标签
  5. 搜索“ C:\ Windows \ System32 \ vmcompute.exe”或“ vmcompute.exe”
  6. 单击更新并取消选中与所有配置相关的所有复选框,然后应用
  7. 再次运行Docker Desktop

希望这会对其他人有所帮助。

答案 7 :(得分:0)

在启动Windows和启动docker时,只需右键单击右下栏中的docker并切换到Windows容器