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

我在启动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) 

我也面临同样的问题。 我已经通过删除所有MobyLinuxVM虚拟机来解决这个问题。 以下是其步骤。

  1. 打开Hyper-Vpipe理器
  2. 从虚拟机中select所有MobyLinuxVM。
  3. 右键单击并删除所有这些虚拟机。
  4. 重新启动泊坞窗。

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

这个问题是非常相似的另一个问题Docker – 计算机'WINDOWS10-ON-SE'无法解决

请参阅我的答案在https://stackoverflow.com/a/45099242/279272

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

我发现一个黑客,它在我的Windows机器上工作正常

使用pipe理员模式下的任何编辑器打开C:\Program Files\Docker\Docker\resources\mobylinux.ps1 。 find下面的代码(在第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,重启完成后在DOSpipe理模式下执行以下命令手动设置网卡

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

每当系统重新启动并且docker完成启动过程(由于任何原因)时,您必须每次运行此命令。 提示:创build这个命令的batch file,并保存在某个地方。

注意:任何docker更新都会导致ps黑客入侵。 所以要注意…

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

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

它最终会让你重新启动系统,但不会像错误信息中提到的那样尝试运行MobyLinuxVm。

如果它对任何人都有帮助,我就通过Parallels运行Windows 10 VM的Apple硬件(MacOS)。 我也确保在我的并行设置>处理器和内存>高级下,我启用了Hypervision应用程序。