问题描述
我有一个服务在使用docker-compose创建的docker容器中运行,该服务需要发现本地网络上的设备。它使用UDP的239.255.255.250:1982上的SSDP来执行此操作。下面是我当前的docker-compose.yml
version: "3.1"
services:
express:
image: node:12
container_name: express
environment:
- PORT=8080
ports:
- "8080:8080"
- "1982:1982/udp" # Discovery port
sysctls:
- net.ipv4.conf.all.forwarding=1
- net.ipv4.ip_forward=1
volumes:
- ./server:/var/lib/server
working_dir: /var/lib/server
command: ["npm","run","start:watch"]
浏览了docker网站上的一些文档后,我尝试了一些sysctl设置以及将端口映射到UDP主机。据我所知,这些数据包根本没有离开容器。为了验证这一点,我已经在Wireshark上观察了我的网络适配器是否向1982端口发送了udp数据包,并且只能提取从docker容器外部运行的代码发送的数据包。
我也尝试过network_mode:“ host”,但是它不起作用。如果可以帮助,我也不想使用该网络模式。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)