如何从docker容器发送和接收SSDP?

如何从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

我有一个运行在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=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容器外部运行的代码发送的数据包

我也尝试过网络模式:“主机”不起作用。如果可以的话,我也不想使用那种网络模式