Docker:Hyper-V 无法找到名为“DockerNAT”的虚拟交换机

sum*_*mar 5 windows docker docker-machine docker-for-windows

我在 Windows 10 pro 上更新了桌面应用程序的 docker(版本 2.0.0.3)。但从那时起,我的 docker 无法启动并抛出以下错误。

Hyper-V\Get-VMNetworkAdapter : Hyper-V was unable to find a virtual switch with name "DockerNAT".
At C:\Program Files\Docker\Docker\resources\MobyLinux.ps1:121 char:25
+ ... etAdapter = Hyper-V\Get-VMNetworkAdapter -ManagementOS -SwitchName $S ...
+                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidArgument: (DockerNAT:String) [Get-VMNetworkAdapter], VirtualizationException
    + FullyQualifiedErrorId : InvalidParameter,Microsoft.HyperV.PowerShell.Commands.GetVMNetworkAdapter
Run Code Online (Sandbox Code Playgroud)

我按照链接中提到的步骤进行操作(手动删除 Hyper-V 中的 MobyLinuxVM 后,Windows 10 上的 Docker 无法启动),但没有解决问题。 在此输入图像描述 我还尝试禁用 --> 重新启动 --> 然后使用“控制面板\程序\程序和功能”中的“打开或关闭 Windows 功能”启用 Hyper V 和容器选项

我的网络连接有以下信息 在此输入图像描述

但我仍然无法启动我的 Windows Docker 应用程序,它不断抛出异常

Hyper-V was unable to find a virtual switch with name "DockerNAT".
at New-Switch, <No file>: line 121
at <ScriptBlock>, <No file>: line 411
Run Code Online (Sandbox Code Playgroud)

小智 1

打开 hyper-v 管理器并检查“虚拟交换机管理器”中是否可以看到 DockerNAT Windows版 Docker在创建 mobylinux 虚拟机之前启动时创建了此交换机。如果您的 powershell 脚本没有创建此开关,请尝试直接在那里创建它。

在此输入图像描述