经过仔细的研究,测试和摆弄,我只能通过从IP /端口转发来找到将Docker容器连接到给定接口.这可以通过将-p Host-IP:Host-Port:Container-Port添加到docker run命令来实现.
我有一个应用程序,侦听UDP广播(255.255.255.255),并且无法配置转发,以便我的容器将接收这些广播而不转发我关心的端口上的所有网络流量(无论通过哪个接口它来了),即:-p Host-Port:Container-Port.
可以使用–net = host配置容器,然后编写我的代码以绑定到给定的接口,我已经完成并测试了,但这仍然违背容器的主要思想.目标是让同一个应用程序的多个容器侦听不同的网络接口(如设备,而不是地址).
有关如何做到这一点的任何想法?
编辑#1:在考虑了这个之后,有可能在所需的接口上建立桥接就足够了,但我不相信操作系统通过它发送广播数据包.随着我进行更多测试,请继续关注.
编辑#2:数据包通过网桥发送就好了.但是,桥接器配置为Docker默认桥接器.我无法弄清楚如何在不同的桥上运行容器.看到一些注意事项,指向将网络设置为–net = none并通过lxc容器设置自行配置.
默认情况下,docker run命令发布tcp的端口.
尝试指定使用udp:
原文链接:https://www.f2er.com/docker/436537.html尝试指定使用udp:
docker run -p Host-Port:Container-Port / udb …