将 udp 多播从 eth0 转发到 docker0

forward udp multicast from eth0 to docker0

我有一个 docker 容器 运行 一个正在侦听 UDP 多播数据包的 java 应用程序。我没有收到容器内的数据包,但它们出现在主机上的 eth0 上。

有没有办法让docker自动拾取这些数据包并将它们转发给容器?

谢谢

您可能想尝试 --net host,因为根据 #3043.[=12 上的讨论,它似乎是让主机外部的多播流量到达容器的唯一解决方法=]

经过很多令人沮丧的日子尝试了很多东西...终于有些东西奏效了:

使用 Pipework (https://github.com/jpetazzo/pipework),以下命令有效但有一个问题 -

pipework eth2 $(docker run -d hipache /usr/sbin/hipache) 50.19.169.157/24

运行仅通过 运行ning 上面的命令来 ning 一个 docker 容器并没有完全帮助我。我必须 运行 tcpdump -i eth2 在我的主机 上捕获 eth2 接口上的数据包,然后开始将数据包转发到 docker 容器。

知道为什么有效,而不仅仅是 运行 命令吗??