2017-02-23 129 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