2017-06-30 12 views
1

私はDockerでUDPの非常に基本的なテストを行っています。 は、私はポート8000​​/UDP上のコンテナを起動します。DockerはUDPパケットを複製します

docker run -p 8000:8000/udp jgkamat/netcat -l -u -p 8000 

私は、トラフィックがこのポートに来て見て:

ngrep -W byline -d any portrange 8000 

私はUDPパケットを送信します。

nc -u <ip-address> 8000 

これは、 ngrepの結果:

filter: (ip or ip6) and (portrange 8000) 
# 
U <my-public-ip>:37704 -> 192.168.0.4:8000 
    hello............. 
# 
U <my-public-ip>:37704 -> 172.17.0.2:8000 
    hello. 
# 
U <my-public-ip>:37704 -> 172.17.0.2:8000 
    hello. 

誰でもパケットが重複している理由を説明できますか?

答えて

0

あなたは転送されているのと同じUDPパッケージの通過を見ている:

netcat -(hello)-> host-interface -(hello)-> container-interface 

各コンテナには、独自のネットワークインタフェースを持っています。 ngrepは両方のホストインターフェイスを監視しています。通常はeth0で、ドッカーネットワークにあるホストインターフェイスは通常docker0です。

+0

これは、最初の2つのパケットに当てはまります。私たちは第三に何を言いますか? –

関連する問題