Reputation: 12977
I'm having a few docker containers (Using docker-compose
and a single network - 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
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?
P.S
broadcast works if the application is deployed outside of docker (part of the local network
Upvotes: 19
Views: 9178
Reputation: 43
version: '3'
services:
idhub-go:
container_name: test
image: 'nginx'
ports:
- "2641:2641/tcp"
- "2641:2641/udp"
Upvotes: 0
Reputation: 35
I have gotten some luck out of this. The guide specifies sysctl parameters that are needed for broadcast forwarding from a docker network, you should then be able to either use his script or specify these parameters when running docker.
Upvotes: 0
Reputation: 5384
You should either run the service defined in your docker-compose.yml
file with network_mode: host
.
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"
Upvotes: 7