我有一个运行java应用程序的docker容器正在侦听UDP多播数据包。我没有收到容器内的数据包,但它们出现在eth0上的主机上。
Docker是否有办法自动获取这些数据包并将其转发到容器中?
由于
答案 0 :(得分:2)
您可能想尝试--net host
,因为它似乎是根据#3043上的讨论,让主机外的多播流量到达容器的唯一解决方法。
答案 1 :(得分:2)
在尝试了许多事情之后经历了许多令人沮丧的日子......最后有些事情发生了:
使用Pipework(https://github.com/jpetazzo/pipework),以下命令有效,但有一个catch -
pipework eth2 $(docker run -d hipache /usr/sbin/hipache) 50.19.169.157/24
只运行上面的命令运行一个docker容器对我没有帮助。我必须在我的主机上运行tcpdump -i eth2
来捕获eth2接口上的数据包,然后开始将数据包转发到docker容器。
知道为什么工作而不只是运行命令??