Windows Docker:Hyper-V无法找到名为“的虚拟交换机”;DockerNAT“;
我在Windows10Pro上更新了我的桌面应用程序docker(版本2.0.0.3)。但从那时起,我的docker就没有启动并抛出以下错误Windows Docker:Hyper-V无法找到名为“的虚拟交换机”;DockerNAT“;,windows,docker,docker-machine,docker-for-windows,Windows,Docker,Docker Machine,Docker For Windows,我在Windows10Pro上更新了我的桌面应用程序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 + ... etAda
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
我遵循了链接()中提到的步骤,但没有解决问题。
我还尝试禁用-->重新启动-->然后使用“控制面板\程序\程序和功能”中的“打开或关闭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
Hyper-V无法找到名为“DockerNet”的虚拟交换机。
在新开关处:第121行
在,:第411行
打开hyper-v管理器,并在“虚拟交换机管理器”中进行检查,如果您可以看到DockerNet是否在那里,则windows Docker在创建mobylinux vm之前启动时创建了此交换机。
如果您的powershell脚本没有创建此开关,请尝试直接在那里创建它
我也曾经面对过这个问题 我尝试了几种变通办法,但都没有奏效。问题是MobyLinux虚拟机无法创建Docker NAT开关,导致Docker服务无法启动 工作是重置我的网络设置。我不记得我是否必须删除计算机管理中所有与网络相关的条目,以便从头开始重新初始化 重要信息:您将丢失所有用户定义的网络相关设置。如果其他一切都失败了,试试看 编辑:您可以尝试的另一件事是通过在管理shell中执行以下命令来重新启动Hyper-V管理服务:
net stop vmms
net start vmms
在相关的中找到,运行MOFCOMP命令并重新启动修复了这个问题
()在更新docker版本后,我遇到了同样的问题,并通过执行以下步骤得到解决。请注意,我的机器上正在运行以下操作系统 Windows 10企业版 1903年版 操作系统构建18362.295 1:-打开“窗口安全” 2:-打开“应用程序和浏览器控件” 3:-单击底部的“利用漏洞保护设置” 4:-切换到“程序设置”选项卡 5:-在列表中找到“C:\WINDOWS\System32\vmcompute.exe”并将其展开 6:-点击“编辑” 7:-向下滚动至“代码流保护(CFG)”并取消选中“覆盖系统设置”
8:-从powershell“net Start vmcompute”启动vmcompute要解决此问题,请按照以下microsoft文档中所述的步骤进行操作 然后重新启动你的电脑 重新启动后
这些对我都不管用。我尝试了无数其他人报告的可能解决方案。最后,这篇相当古老的帖子帮助了: 因此,要解决这个问题:
希望这有帮助 我在windows 10上也遇到了同样的问题,在安装“MicrosoftEasyFix20159.mini.diagcab”后,我的问题得到了解决。我想,与其手动创建一个新的“名为DockerNet的内部虚拟交换机”,不如安装这个Microsoft Easy Fix。我的Docker桌面给了我一个类似的错误 正是这样: 无法删除虚拟交换机“DockerNet”,因为它正在被删除 用于运行虚拟机或分配给子池 我的解决方案是
我希望这对尝试您建议的方法的人有所帮助,即使删除了所有网络配置,仍然会出现相同的错误。无法创建:正在运行的命令已停止,因为首选项变量\n“ErrorActionPreference”或公用参数设置为Stop:Hyper-V无法找到名为“DockerNet”的虚拟交换机。在新交换机上,:第121行,:第411行您是否也删除了“计算机管理->设备管理器->网络适配器”中的网络适配器条目?不,我需要删除吗。@sumitkumar我已更新了我的答案,如果问题仍然存在,请尝试一下。感谢@leopal的新方法,但即使这样似乎也无济于事。请注意,
Container
是Hyper-V的一项独立功能。