web-dev-qa-db-ja.com

HNSがエラーで失敗しました:パラメーターが正しくありません

Visual Studio 2017を使用してDockerコンテナー化アプリケーションを作成しています。最初にVisual Studioを介してDockerを実行すると、「エラー:クライアントバージョン1.22が古すぎます」というエラーが発生しました。

このエラーは、docker composeをバージョン2.1に更新することで解決しました

以下のリンクには、この特定のエラーに関する詳細な説明が含まれています

エラー:クライアントバージョン1.22は古すぎます

このエラーが解決した後、Building dockerで「HNS failed with error:the parameter is wrong。」が表示されます。

複数のgithubの議論から、これはWindowsネットワークエラーであることがわかりました。

この問題の解決策はありますか? Dockerのバージョンを下げるか、何か他のものをインストールする必要があります。

Windowsコンテナーを使用しています。実行中のdockerバージョンクライアント:バージョン:17.06.0-ce APIバージョン:1.30 Goバージョン:go1.8.3 Gitコミット:02c1d87ビルド:金6月23 21:30:30 2017 OS/Arch:windows/AMD64

サーバー:バージョン:17.06.0-ce APIバージョン:1.30(最小バージョン1.24)Goバージョン:go1.8.3 Git commit:02c1d87 Built:Fri Jun 23 22:19:00 2017 OS/Arch:windows/AMD64 Experimental:true

編集:

Linuxコンテナーに切り替えると、この問題は解決します。しかし、ドライブが共有されていない別の問題が発生します。共有した後:ドライブドライブの共有の問題がまだ発生します。

Linuxコンテナのドライブ共有の問題を解決するにはどうすればよいですか。

このアプリをAzureにデプロイできるように、Windowsコンテナーをローカルで使用したいと思います。

13
Khalil

これは既知の制限です。現在、Windowsは1つのNATネットワークのみをサポートしています。Remove-Netnatの呼び出しによるNetnatの削除はサポートされていません。

これをpowerhellで実行します。

Get-NetNat | Remove-NetNat

22
Khalil

Powershell(X64)を管理者モードで開きます以下のコマンドを実行します

Get-NetNat 

このようなものを返す場合

enter image description here

次に、PowerShellで以下のコマンドを実行します

Remove-NetNat
0
Rajan Domala