我們有一個dockerized服務器應用程序,它通過偵聽端口6969上的多播數據包來自動發現網絡上的物理設備。因此,我們需要我們的docker容器能夠從外部設備接收這些數據包主機,通過主機,並進入容器。我見過somesimilarissues並完成alotofreading但我仍然無法讓服務器響應這些組播數據包。Docker接收多播流量
我坐在Wireshark上觀看網絡流量,但我不是專家。我知道Docker會創建一個MASQUERADE
地址,以使流量看起來像來自Docker網關,所以當我看到veth
時,我看到的主要是172.17.0.1
和172.17.0.2
之間的對話,儘管我的服務器無法檢索有關網絡設備的任何信息。 (如果我在Docker外面跑步,我當然沒有問題。)
我不能使用--net=host
,因爲和其他人一樣,我們使用--link
功能。我試過以下變化...
docker run --name app -p 6969:6969 -d me/app:latest
docker run --name app -p 0.0.0.0:6969:6969 -d me/app:latest
(這一個我可以發誓,一次得手,但現在不?)docker run --name app -p 0.0.0.0:6969:6969/udp -d me/app:latest
docker run --name app -p 255.255.255.255:6969:6969 -d me/app:latest
任何幫助或見解,你可以提供將不勝感激。
@ValeriySolovyov的答案是否適合您? – blz