我正在使用UDP中的Docker做非常基本的测试。
我在端口8000 / 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.
谁能解释为什么数据包重复?
最佳答案
您会看到正在转发的同一个udp软件包的传输:
netcat -(hello)-> host-interface -(hello)-> container-interface
每个容器都有自己的网络接口(interface)。
ngrep
正在监视两个主机接口(interface):一个通常是eth0
,一个是在docker网络中,通常是docker0
。关于networking - Docker复制UDP数据包,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44851505/