2017-06-30 2 views
1

Je fais un test très basique avec Docker en UDP. Je commence un conteneur sur le port 8000/UDP:Docker duplique les paquets UDP

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

Je regarde le trafic entrant sur ce port:

ngrep -W byline -d any portrange 8000 

J'envoyer un paquet UDP:

nc -u <ip-address> 8000 

C'est le résultat de 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. 

Quelqu'un peut-il expliquer pourquoi les paquets sont dupliqués?

Répondre

0

Vous voyez le transit du même paquet udp, qui est transmis:

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

Chaque conteneur possède sa propre interface réseau. ngrep surveille les deux interfaces hôte: celle qui est habituellement eth0 et celle qui se trouve dans le réseau docker, généralement docker0.

+0

Ceci est vrai pour les deux premiers paquets. Que pouvons-nous dire à propos du troisième? –