无法在Windows 10中启动Docker - 抛出Hyper-V错误

13

在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个回答

12

在管理员模式的命令提示符中运行“MOFCOMP %SYSTEMROOT%\System32\WindowsVirtualization.V2.mof”。执行此操作后无需重新启动计算机,我已经尝试过。


8

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

  1. 打开Hyper-V管理器
  2. 从虚拟机中选择所有的MobyLinuxVM。
  3. 右键单击并删除所有这些虚拟机。
  4. 重新启动docker。

这些步骤已经在我的系统上解决了这个问题。


5
假设您正在尝试运行Windows容器: 右键单击Docker系统托盘图标,然后选择“切换到Windows容器”。 它最终会让您重新启动系统,但不再尝试运行MobyLinuxVm,如您的错误消息所述。 如果有帮助,我在Apple硬件(MacOS)上通过Parallels运行Windows 10 VM。我还确保在我的并行设置>处理器和内存>高级中启用了Hypervision应用程序。

关于MacOS/Parallels的设置相同..感谢您提供有关Hypervision的提示。 - Jalal El-Shaer
谢谢@ToddBFisher,你让我的一天变得美好了。我认为这会对https://github.com/docker/for-win/上的许多其他人有所帮助。 - smartmeta
这对我也起作用了 - SO答案 - user3590235

1
安装Docker需要支持BIOS层级的硬件虚拟化,您可以按照以下步骤操作:
- 开机时确保在主板设置(system security => virtualization technology VTX => enable it)中打开硬件虚拟化支持。 - 保存BIOS设置并正常启动计算机。 - 以管理员身份在PowerShell中运行此命令以启用Hyper-V(如果尚未启用):
```Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All```

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管理员模式执行以下命令手动设置网络卡: netsh interface ipv4 set address name="vEthernet (DockerNAT)" static 10.0.75.1 255.255.255.0 每次系统重启并且docker完成启动过程(由于任何原因),您都必须运行此命令。 提示:创建此命令的批处理文件并保存在方便的位置。
注意:ps hack将被任何docker更新撤销,所以要小心...

1
我曾经遇到过同样的问题。我不得不创建一个新的Ubuntu机器,这样我才能使用Docker。最终它帮了我大忙。现在我的Windows机器上它可以完美地运行。谢谢! - RealDeepak

0

对我来说,将Windows 10 Pro更新到1809版本解决了这个问题。


0
在Windows 10上,我通过执行以下步骤解决了问题:
法语Windows版本:
1.关闭Docker Desktop 2.转到“Contrôle des applications et du navigateur” 3.在“Exploit protection”下单击“Paramètre d'exploit protection” 4.转到“Program settings”选项卡 5.搜索“C:\Windows\System32\vmcompute.exe”或“vmcompute.exe” 6.单击更新并取消选中所有与所有配置相关的复选框,然后应用更改 7.重新运行Docker Desktop 英语Windows版本:
1.关闭Docker Desktop 2.转到“App & browser control” 3.在“Exploit protection”下单击“Exploit protection settings” 4.转到“Program settings”选项卡 5.搜索“C:\Windows\System32\vmcompute.exe”或“vmcompute.exe” 6.单击更新并取消选中所有与所有配置相关的复选框,然后应用更改 7.重新运行Docker Desktop 希望这能对其他人有所帮助。

0

当您启动Windows并启动Docker时,只需在右下角单击Docker并切换到Windows容器


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接