WSL2 で 1 つのディストリビューションのみにミラーリングを設定するにはどうすればよいでしょうか?

WSL2 で 1 つのディストリビューションのみにミラーリングを設定するにはどうすればよいでしょうか?

デフォルトの WSL2 ディストリビューションにはミラーリングされたネットワークを使用したいのですが、他のディストリビューションでは NAT のままにしておきたいです。特に docker デスクトップの場合、コンテナーは外部ネットワークに影響を与えないはずですが、コンテナーの nginx は、IIS によってすでにバインドされている 0.0.0.0:80 をバインドしようとし続けます。

答え1

残念ながら、少なくとも現時点では、これは不可能です。すべての WSL2 ディストリビューションは同じ WSL2 Hyper-V 仮想マシンで実行されるため、すべてで共有されるネットワーク スタックは 1 つだけです。アドレス/インターフェイス/ルートなどに加えた変更は、実行中のすべてのディストリビューションで共有されます。これは、NAT モードでもミラーリングでも同じです。

詳細はこの答え、そして、ユースケースに応じて、多分潜在的な回避策これです追加のネットワーク名前空間を使用します。

関連情報