windows - docker : Hyper-V was unable to find a virtual switch with name "DockerNAT"

标签 windows docker docker-machine docker-for-windows

我在 Windows 10 专业版上更新了我的桌面应用程序 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

我按照链接 (Docker on windows 10 can't startup after deleting MobyLinuxVM in Hyper-V manually) 中提到的步骤操作,但没有解决问题。 enter image description here 我还尝试禁用 --> 重新启动 --> 然后使用“控制面板\程序\程序和功能”中的“打开或关闭 Windows 功能”启用 Hyper V 和容器选项

我的网络连接有以下信息 enter image description here

但我仍然无法启动我的 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

最佳答案

我也遇到过这个问题。

我尝试了几种变通方法,但没有任何效果。问题是 MobyLinuxVM 无法创建 Docker NAT 开关,导致 Docker 服务无法启动。

工作 solution是重置我的网络设置。我不记得是否必须删除计算机管理中的所有网络相关条目才能从头开始重新初始化。

重要:您将丢失所有用户定义的网络相关设置。如果一切都失败了,请尝试。

编辑:您可以尝试的另一件事是通过在管理 shell 中执行以下命令来重新启动 Hyper-V 管理服务:

net stop vmms
net start vmms

在相关github issue中找到

关于windows - docker : Hyper-V was unable to find a virtual switch with name "DockerNAT",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54762593/

相关文章:

windows - 在多个 Windows 服务器上运行命令

python - 除了交换系统变量 'PATH' 中 python 文件夹的路径顺序之外,还有哪些方法可以交换 python 版本?

javascript - 如何将 wolkenkit 应用程序部署到 digital ocean ?

docker - 为什么 docker build 标志 --add-host 在 linux ubuntu 上不起作用?

elasticsearch - Docker-compose.yml 不适用于 elasticsearch

windows - 什么是popen相当于在Windows中读写子进程?

windows - Minidump 创建空转储文件

docker - 错误 : "error creating aufs mount to" when building dockerfile

docker - 指定 SHA 时如何使用多架构基础 docker 镜像

docker - 在 CentOS7 中无法启动 docker daemon