I have 3 services defined in docker-compose. One of them sends a multicast that should be received by the other 2 services, but only one of them receives it. The 2 receivers are in different networks, and the sender is part of both networks.
docker-compose.yml:
services:
sender:
networks:
- network_a
- network_b
receiver1:
networks:
- network_a
depends_on:
- sender
receiver2:
networks:
- network_b
depends_on:
- sender
networks:
network_a:
ipam:
driver: default
config:
- subnet: 172.20.1.0/24
gateway: 172.20.1.1
network_b:
ipam:
driver: default
config:
- subnet: 172.20.2.0/24
gateway: 172.20.2.1
receiver1 gets the multicast but receiver2 doesn't.
If I remove network_a from sender networks field, then receiver2 receives the message. Somehow multicast doesn't work on multiple networks.
Does anyone know why this happens?