2017-02-23 131 views
0

我在運行節點容器的樹莓派上使用docker撰寫和hypriotos。我想在本地網絡中接收udp多播消息發送到239.255.255.250:1982。我的代碼正在Docker之外的其他機器上工作,所以我認爲這是一個碼頭問題。在Docker容器中接收UDP多播

我已經在docker文件和docker-compose文件中顯示了端口1982/udp,我在端口添加了「1982:1982」和「239.255.255.250:1982:1982 /udp」。我仍然收不到任何東西。我錯過了什麼嗎?

我的具體計劃是接收來自yeelight的廣告信息。這些信息有記錄here

任何幫助將是很好的。謝謝。

回答

2

雖然你可以用-p 1982:1982/udp做udp,但我不認爲docker的端口轉發目前支持多播。如果您在守護進程上禁用用戶代理服務器(dockerd --userland-proxy=false ...),您可能會有更好的運氣,但這只是一個猜測。

快速/簡單的解決方案,同時刪除一些隔離,是使用docker run --net=host ...主機網絡。

+0

謝謝,我現在使用主機網絡,它的工作原理。我必須在docker-compose文件中設置「network_mode」選項。 – daniel17903