如何从docker容器发送和接收SSDP?
我有一个运行在docker容器中的服务,该容器使用docker compose创建,需要发现本地网络上的设备。它通过UDP在239.255.255.250:1982上使用SSDP来实现这一点。下面是我当前的docker-compose.yml如何从docker容器发送和接收SSDP?,docker,docker-compose,ssdp,Docker,Docker Compose,Ssdp,我有一个运行在docker容器中的服务,该容器使用docker compose创建,需要发现本地网络上的设备。它通过UDP在239.255.255.250:1982上使用SSDP来实现这一点。下面是我当前的docker-compose.yml version: "3.1" services: express: image: node:12 container_name: express environment: - PORT=808
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容器外部运行的代码发送的数据包
我也尝试过网络模式:“主机”不起作用。如果可以的话,我也不想使用那种网络模式