Docker for windows无法启动
问题描述:
我刚升级到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
任何想法如何解决这一问题?
答
对于任何遇到同样的问题,我会解决它。
- 卸载Docker并从控制面板中删除Hyper-V。进入 设备管理器 - >网络适配器。
- 右键单击并卸载任何不是您的实际物理网卡
- 重新启动并重新启动Hyper-V并重新安装Docker(或者只需安装Docker,因为它会为您打开Hyper-V)。
你可以检查'Get-NetAdapter'的输出吗? (未过滤)。我不知道任何情况下'$ _。Name'可能是'$ null' ... – Clijsters