我有几个 docker 容器(使用 docker-compose 和单个网络 - network-sol)
I'm having a few docker containers (Using docker-compose and a single network - network-sol)
其中一个容器是 Spring Boot 应用程序,它将 UDP 广播发送到本地网络.255.255.255.255 失败,因为它是 network-sol
One of the containers is a Spring Boot application that sends UDP broadcast to the local network. 255.255.255.255 fails because It's the local broadcast address of network-sol
我怎样才能广播UDP消息,例如顶级本地网络"会得到那些数据包?我必须为此使用定向广播地址吗?
How can I broadcast UDP messages such as the "top local network" Will get those packets? Do i have to use directed broadcast address for that?
附言
如果应用程序部署在 docker 之外(本地网络的一部分),则广播可以工作
broadcast works if the application is deployed outside of docker (part of the local network
推荐答案您应该使用 network_mode: host 运行 docker-compose.yml 文件中定义的服务.
You should either run the service defined in your docker-compose.yml file with network_mode: host.
或者,您可以使用以下配置发布要与之通信的容器的端口.请注意,UDP 通信需要 /udp 才能工作.
Alternatively you can publish the port of the container you intended to communicate with by publishing it using the following configuration. Note that the /udp is required for UDP communication to work.
service: ports: - "8080:8080/udp"更多推荐
从 docker 容器发送 udp 广播
发布评论