web-dev-qa-db-ja.com

2つの別々のDockerネットワークを接続するための最良の方法

異なるネットワーク上にある2つの異なるDockerコンテナーを接続する(つまり、相互にpingを実行できるようにする)ための最良の方法を探しています。

wg-netの範囲で192.168.200.0/24に接続されているWireGuardコンテナと、デフォルトのbridgeネットワーク172.17.0.0/24に接続されている別のコンテナがあります。

あるコンテナから別のコンテナへのpingは失敗します。理想的には、特定のIPトラフィックを1つのコンテナーから別のコンテナーにルーティングして、WireGuardVPNに接続したいと思います。

Dockerホストからいずれかのネットワークにpingを実行すると正常に機能します。

これを達成するための最良の方法は何でしょうか? 3番目のネットワークを作成し、2つのコンテナーを相互に接続することはできますが、それはやり過ぎのようです。 Docker Hostに2つのネットワーク間でトラフィックをルーティングさせる他の方法はありませんか?

1
Tuinslak

3番目のネットワークを作成し、2つのコンテナーを相互に接続することはできますが、それはやり過ぎのようです

"…コンテナは複数のネットワークに参加できるため、接続と分離のためのきめ細かいネットワークポリシーを提供できます …"

したがって、両方のネットワークに接続されるゲートウェイCTを導入することで、これを解決してみることができます。

それ以外の場合、Dockerはネットワークアクセスポリシーを適用するため、netfilterのルールを調整する必要があります。

0
poige