2017-04-13 127 views
1

我刚升级到Windows 10 Pro创建者更新| 1703 | OS版本:15063.138。Docker for windows无法启动

当搬运工试图启动我得到以下错误:

Unable to create: You cannot call a method on a null-valued expression. 
at <ScriptBlock>, <No file>: line 137 
at Get-NetAdapter<End>, <No file>: line 181 
at New-Switch, <No file>: line 137 
at <ScriptBlock>, <No file>: line 381 
    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) 

现在,我已经尝试了所有常见故障排除方法来尝试解决它,但有没有运气即卸载码头工人reninstall,关闭超-V然后再打开它。

我甚至试过C:\Program Files\Docker\Docker\resources

.\MobyLinux.ps1 -Destroy 
.\MobyLinux.ps1 -Create 

运行使用PowerShell下面的命令创建任务引发以下错误:

? : You cannot call a method on a null-valued expression. 
At C:\Program Files\Docker\Docker\resources\MobyLinux.ps1:137 char:37 
+ ... Get-NetAdapter | ? { $_.Name.StartsWith("vEthernet ($SwitchName)") } 
+      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    + CategoryInfo   : InvalidOperation: (:) [Where-Object], RuntimeException 
    + FullyQualifiedErrorId : InvokeMethodOnNull,Microsoft.PowerShell.Commands.WhereObjectCommand 

任何想法如何解决这一问题?

+0

你可以检查'Get-NetAdapter'的输出吗? (未过滤)。我不知道任何情况下'$ _。Name'可能是'$ null' ... – Clijsters

回答

0

对于任何遇到同样的问题,我会解决它。

  1. 卸载Docker并从控制面板中删除Hyper-V。进入 设备管理器 - >网络适配器。
  2. 右键单击并卸载任何不是您的实际物理网卡
  3. 重新启动并重新启动Hyper-V并重新安装Docker(或者只需安装Docker,因为它会为您打开Hyper-V)。