web-dev-qa-db-ja.com

Docker:Hyper-Vは「DockerNAT」という名前の仮想スイッチを見つけることができませんでした

Windows 10 proでデスクトップアプリ(バージョン2.0.0.3)のDockerを更新しましたが、それ以降、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

リンクに記載されている手順に従いました( Hyper-VでMobyLinuxVMを手動で削除した後、Windows 10のDockerを起動できません )が、問題は修正されませんでした。 enter image description here 「コントロールパネル\プログラム\プログラムと機能」にある「Windowsの機能をオンまたはオフにする」を使用して、->再起動->を無効にしてからHyperVとコンテナオプションを有効にしてみました

私のネットワーク接続には次の情報があります enter image description here

しかし、それでもWindowsDockerアプリを起動できません。

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
3
sumit kumar

私も一度この問題に直面しました。

いくつかの回避策を試しましたが、何も機能しませんでした。問題は、MobyLinuxVMがDocker NATスイッチを作成できなかったため、Dockerサービスを開始できなかったことです。

動作中 解決策 は私のネットワーク設定をリセットすることでした。ゼロから再初期化するために、コンピューター管理のネットワーク関連のエントリをすべて削除する必要があったかどうかを思い出せません。

重要:ユーザー定義のネットワーク関連の設定はすべて失われます。他のすべてが失敗した場合は試してみてください。

編集:もう1つ試すことができるのは、管理シェルで次のコマンドを実行してHyper-V管理サービスを再起動することです。

net stop vmms
net start vmms

関連する githubの問題 で見つかりました

2
leopal

これらのどれも私のために働いていませんでした。私は他の人から報告された無数の可能な解決策を試しました。結局、このかなり古い投稿が役に立ちました: https://forums.docker.com/t/latest-failed-docker-update-makes-hyper-v-unable-to-create-virtual-ethernet-スイッチ-0x80041002/44109

したがって、問題を修正するには:

  1. 不自由なDockerforWindowsをアンインストールする
  2. hyper-Vとコンテナの両方の機能を削除してから再起動します
  3. hyper-Vとコンテナーの機能を追加してから再起動します
  4. docker for Windowsを再インストールして、起動します

お役に立てれば!

1
Adam

hyper-vマネージャーを開き、「仮想スイッチマネージャー」をチェックインして、DockerNATそこにあるかどうかを確認します。Docker for windowsこのスイッチは、作成前に起動時に作成されました。 mobylinuxvm。 PowerShellスクリプトがこのスイッチを作成していない場合は、そこに直接作成してみてください。

enter image description here

1
Nadeem Hussain

Windows 10でも同じ問題が発生し、「MicrosoftEasyFix20159.mini.diagcab」をインストールした後、問題は解決しました。新しい「DockerNATという名前の内部仮想スイッチ」を手動で作成する代わりに、このMicrosoft EasyFixをインストールすると機能すると思います。

0

MOFCOMPコマンドを実行して再起動すると、この問題が修正されました。

  1. このコマンドの実行:(管理者としてのコマンドプロンプト)MOFCOMP%SYSTEMROOT%\ System32\WindowsVirtualization.V2.mof

  2. その後、再起動します

https://community.spiceworks.com/how_to/122307-fix-error-managing-hyper-v-server-2012-r2-from-windows-1

0
selins sofa

Dockerのバージョンを更新した後、同じ問題に直面し、次の手順を実行することで解決しました。私のマシンでは次のOSが実行されていることに注意してください。

エディションWindows10 Enterprise

バージョン1903

Osビルド18362.295

1:-「ウィンドウセキュリティ」を開く

2:-「アプリとブラウザのコントロール」を開きます

3:-下部にある[エクスプロイト保護設定]をクリックします

4:-「プログラム設定」タブに切り替えます

5:-リストで「C:\ WINDOWS\System32\vmcompute.exe」を見つけて展開します

6:-[編集]をクリックします

7:-[コードフローガード(CFG)]まで下にスクロールし、[システム設定を上書きする]のチェックを外します

8:-PowerShell「netstartvmcompute」からvmcomputeを起動します

0
Waqas Ahmed

この問題を解決するには、以下のMicrosoftのドキュメントに記載されている手順に従ってください。

https://support.Microsoft.com/en-us/help/3101106/you-cannot-create-a-hyper-v-virtual-switch-on-64-bit-versions-of-windo

次に、PCを再起動します。

再起動後

  1. Hyper-Vマネージャーを開く
  2. Goto Virtual Switch Manager
  3. DockerNATという名前の新しい内部仮想スイッチを作成します

    enter image description here

  4. Dockerを起動します

0
AliMusa