在Docker容器中接收UDP多播

时间:2017-02-23 17:25:00

标签: node.js docker docker-compose

我在运行节点容器的树莓派上使用docker compose和hypriotos。我想在本地网络上收到发送到239.255.255.250:1982的udp组播消息。我的代码正在使用docker之外的其他机器,所以我认为这是一个码头工具问题。

我已经在docker文件和docker-compose文件中公开了端口1982 / udp,我添加了#34; 1982:1982"和" 239.255.255.250:1982:1982 / udp"到港口。我仍然无法收到任何东西。我错过了什么吗?

我的具体计划是接收来自yeelight的广告信息。这些消息记录在here

任何帮助都会很好。感谢。

1 个答案:

答案 0 :(得分:2)

虽然您可以使用-p 1982:1982/udp执行udp,但我不相信docker的端口转发目前支持多播。如果你在守护进程(dockerd --userland-proxy=false ...)上禁用userland代理,你可能会有更好的运气,但这只是猜测。

快速/简便的解决方案,同时消除了一些隔离,是使用docker run --net=host ...的主机网络。