web-dev-qa-db-ja.com

コンテナネットワークを削除できません

コンピューターのDockerをbeta27にアップグレードしてから、デフォルトのネットワークを使用してWindowsコンテナーを実行できなくなりました。次のメッセージが表示されます。

docker: Error response from daemon: container xxx encountered an error during Start failed in Win32: The system cannot find the path specified. (0x3): Are you trying to mount a directory onto a file (or vice-versa)? Check if the specified Host path exists and is the expected type.

すべて(Windows用Docker、Hyper-V、コンテナー機能、およびC:\ ProgramData\Dockerに残っているファイル)をアンインストール/削除してから、すべてを再インストールしましたが、問題は解決しません。

natアダプターがHyper-Vに存在しなくなったことに気付きましたが、DockerNatアダプターは存在しました。

この記事 は、ネットワークコンポーネントをリセットするスクリプトを提供していますが、コンテナネットワークを削除できません。

PS C:\WINDOWS\system32> Get-ContainerNetwork

Name Id                                   Subnets         Mode SourceMac DNSServers DNSSuffix
---- --                                   -------         ---- --------- ---------- ---------
nat  12706897-fc71-41fc-9046-a7be0d01727e {172.16.0.0/12} NAT


PS C:\WINDOWS\system32> Get-ContainerNetwork | Remove-ContainerNetwork

Confirm
Remove-ContainerNetwork will remove the container network "".
[Y] Yes  [A] Yes to All  [N] No  [L] No to All  [S] Suspend  [?] Help (default is "Y"):
Remove-ContainerNetwork : Unspecified error
At line:1 char:24
+ Get-ContainerNetwork | Remove-ContainerNetwork
+                        ~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo          : InvalidOperation: (:) [Remove-ContainerNetwork], VirtualizationException
+ FullyQualifiedErrorId : OperationFailed,Microsoft.Containers.PowerShell.Cmdlets.RemoveContainerNetwork

PS C:\WINDOWS\system32> Remove-ContainerNetwork -Name nat

Confirm
Remove-ContainerNetwork will remove the container network "nat".
[Y] Yes  [A] Yes to All  [N] No  [L] No to All  [S] Suspend  [?] Help (default is "Y"):
Remove-ContainerNetwork : Unspecified error
At line:1 char:1
+ Remove-ContainerNetwork -Name nat
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo          : InvalidOperation: (:) [Remove-ContainerNetwork], VirtualizationException
+ FullyQualifiedErrorId : OperationFailed,Microsoft.Containers.PowerShell.Cmdlets.RemoveContainerNetwork

PS C:\WINDOWS\system32>

PowerShellを使用してネットワークを削除できないため、ネットワークを削除するために削除できるレジストリエントリはありますか?

5
cvandal

以下を使用してNATネットワークを削除してみてください。

Get-NetNat | Remove-NetNat

HNSとdockerを再起動してみることもできます

Restart-Service hns
Restart-Service docker
2
kosai