Docker для Windows не запускается

Я только что обновился до обновления для создателей Windows 10 Pro | 1703 | Сборка ОС: 15063.138.

Когда докер пытается запуститься, я получаю следующую ошибку:

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)

Теперь я перепробовал все обычные методы устранения неполадок, чтобы попытаться исправить это, но мне не повезло, т. Е. Удалите переустановку докера, выключите Hyper-V, а затем снова включите его.

Я даже пытался запустить следующие команды с помощью Powershell в C:\Program Files\Docker\Docker\resources

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

Задача создания выдает следующую ошибку:

? : 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

Любые идеи, как это исправить?


person Steve Fitzsimons    schedule 13.04.2017    source источник
comment
Не могли бы вы проверить вывод Get-NetAdapter? (нефильтрованное). Я не знаю ни одного случая, когда $_.Name могло бы быть $null...   -  person Clijsters    schedule 14.04.2017


Ответы (1)


Для тех, кто испытывает то же самое, что я сделал, чтобы исправить это.

  1. Удалите Docker и удалите Hyper-V с панели управления. Заходим в диспетчер устройств -> сетевые адаптеры.
  2. Щелкните правой кнопкой мыши и удалите все, что не является вашей физической сетевой картой.
  3. Перезагрузите и снова включите Hyper-V, а затем переустановите Docker (или просто установите Docker, поскольку он включает Hyper-V для вас).
person Steve Fitzsimons    schedule 19.04.2017