powershell - Windows的Docker无法启动

标签 powershell docker windows-10 hyper-v

我刚刚升级到Windows 10 Pro创建者更新| 1703 |操作系统内部版本:15063.138。

当docker尝试启动时,出现以下错误:

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)

现在我已经尝试了所有常用的故障排除方法来尝试修复它,但是没有运气,即卸载docker reninstall,关闭hyper-V然后再将其重新打开。

我什至尝试在C:\Program Files\Docker\Docker\resources中使用Powershell运行以下命令
.\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

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

最佳答案

对于任何遇到相同问题的人,我都做了修复。

  • 卸载Docker并从控制面板中删除Hyper-V。进去
    设备管理器->网络适配器。
  • 右键单击并卸载不是您实际的物理网卡的任何文件
  • 重新引导并重新打开Hyper-V,然后重新安装Docker(或者在为您打开Hyper-V时直接安装Docker)。
  • 关于powershell - Windows的Docker无法启动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43399942/

    相关文章:

    batch-file - 如何修复此批处理时间脚本?

    powershell - Powershell和管道的cmd问题

    powershell - 使用自定义PowerShell TypeNames条目和参数

    docker - 既然您已经是 root,那么在 Dockerfile 中运行 USER root 是否是多余的?

    php - Docker PHP7.x Codeception Selenium WebDriver 抛出 net::ERR_CONNECTION_REFUSED

    virtual-machine - VirtualBox:无法访问内核驱动程序

    powershell - 使用 "GetList"参数调用 "1"时出现异常

    windows - 创建证书的 New-SelfSignedCertificate 给出拒绝访问

    github - Dockerhub 使用 Github LFS 自动构建

    c# - 如何在 Asp.Net Core 上使用 ORMi 获取统一写入过滤器状态?