我有一个运行 java 应用程序的 docker 容器,该应用程序正在侦听 UDP 多播数据包。我没有收到容器内的数据包,但是它们出现在 eth0 的主机上。
docker有没有办法自动提取这些数据包并将它们转发到容器?
谢谢
我有一个运行 java 应用程序的 docker 容器,该应用程序正在侦听 UDP 多播数据包。我没有收到容器内的数据包,但是它们出现在 eth0 的主机上。
docker有没有办法自动提取这些数据包并将它们转发到容器?
谢谢
经过很多令人沮丧的日子,尝试了很多事情......终于有些东西奏效了:
使用 Pipework ( https://github.com/jpetazzo/pipework ),以下命令有效,但有一个问题 -
pipework eth2 $(docker run -d hipache /usr/sbin/hipache) 50.19.169.157/24
仅通过运行上述命令来运行 docker 容器对我没有太大帮助。我必须tcpdump -i eth2
在我的主机上运行以捕获 eth2 接口上的数据包,然后开始将数据包转发到 docker 容器。
知道为什么会起作用,而不仅仅是运行命令吗?
您可能想尝试一下,因为根据#3043--net host
上的讨论,这似乎是让主机外部的多播流量到达容器的唯一解决方法。