尽管存在关于公共互联网上的Docker容器网络的大量文档,但我不清楚用户定义的Docker桥接网络是否支持开箱即用的多播。可以?如果没有,应该怎么做才能启用此功能?
是的,它开箱即用。您可以通过以下实验对其进行测试。
创建用户定义的桥接网络:
docker network create net1
打开三个终端,并在每个终端上运行一个Debian容器:
docker run --rm --network="net1" -it debian
在每个容器上,执行以下操作:
安装socat:
apt update && apt -y install socat
在环境变量中注册网络掩码:
NETMASK=`ip a | grep global | cut -d" " -f8`
由于此article,因此运行socat可以将多播发送者和多播接收者组合在一起]
socat STDIO UDP4-DATAGRAM:224.1.0.1:6666,bind=:6666,range=$NETMASK/16,ip-add-membership=224.1.0.1:`hostname -I`
在每个终端上,您现在可以发送将被多播的消息。