首页 > 解决方案 > 从 docker 容器发送 udp 广播

问题描述

我有几个 docker 容器(使用docker-compose和单个网络 - network-sol)

其中一个容器是Spring Boot application向本地网络发送 UDP 广播的容器。255.255.255.255 失败,因为它是network-sol的本地广播地址

我怎样才能广播UDP消息,如“顶级本地网络”会得到那些数据包?我必须为此使用directed broadcast address吗?

附言

如果应用程序部署在 docker 之外(本地网络的一部分),广播可以工作

标签: dockerspring-bootnetworkingudpdocker-compose

解决方案


您应该运行docker-compose.yml文件中定义的服务,使用network_mode: host.

或者,您可以使用以下配置发布要与之通信的容器的端口。请注意,/udpUDP 通信需要它才能工作。

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

推荐阅读