从docker容器发送udp广播

r3i60tvu  于 2023-06-22  发布在  Docker
关注(0)|答案(3)|浏览(262)

我有几个docker容器(使用docker-compose和单个network - network-sol)
其中一个容器是Spring Boot application,它向本地网络发送UDP广播。255.255.255.255失败,因为它是network-sol的本地广播地址
我怎样才能广播UDP消息,如“顶级本地网络”将获得这些数据包?我必须使用directed broadcast address吗?
P.S.
如果应用程序部署在docker之外(本地网络的一部分),则广播可以工作

niwlg2el

niwlg2el1#

您应该使用network_mode: host运行docker-compose.yml文件中定义的服务。
或者,您可以使用以下配置发布要与之通信的容器的端口。请注意,/udp是UDP通信工作所必需的。

service:
  ports:
    - "8080:8080/udp"
72qzrwbm

72qzrwbm2#

我从this中得到了一些运气。该指南指定了从docker网络进行广播转发所需的sysctl参数,然后您应该能够在运行docker时使用他的脚本或指定这些参数。

p1tboqfb

p1tboqfb3#

  • 使用docker编写文件
  • 使用桥接网络
version: '3'
services:
  idhub-go:
    container_name: test
    image: 'nginx'
    ports:
      - "2641:2641/tcp"
      - "2641:2641/udp"

相关问题