UDP マルチキャスト パケットをリッスンしている Java アプリケーションを実行している Docker コンテナがあります。コンテナ内でパケットを受信していませんが、ホスト マシンの eth0 に表示されます。
docker がこれらのパケットを自動的に取得してコンテナーに転送する方法はありますか?
ありがとう
UDP マルチキャスト パケットをリッスンしている Java アプリケーションを実行している Docker コンテナがあります。コンテナ内でパケットを受信していませんが、ホスト マシンの eth0 に表示されます。
docker がこれらのパケットを自動的に取得してコンテナーに転送する方法はありますか?
ありがとう
多くのことを試してイライラする日々を過ごした後...最終的に何かがうまくいきました:
Pipework ( https://github.com/jpetazzo/pipework ) を使用すると、次のコマンドが機能しましたが、キャッチがあります -
pipework eth2 $(docker run -d hipache /usr/sbin/hipache) 50.19.169.157/24
上記のコマンドを実行するだけで docker コンテナーを実行しても、あまり役に立ちませんでした。tcpdump -i eth2 eth2 インターフェイスでパケットをキャプチャするためにホストで実行する必要があり、その後パケットを docker コンテナーに転送し始めました。
コマンドを実行するだけでなく、なぜ機能するのですか??
#3043--net hostの議論によると、ホストの外部でマルチキャスト トラフィックをコンテナに到達させるための唯一の回避策と思われるため、試してみることをお勧めします。