当我使用docker create network test1
设置网络然后启动一些容器时,例如
docker run -d --net=test1 --name=t1 elasticsearch
docker run -d --net=test1 elasticsearch
docker run -d --net=test1 elasticsearch
我无法使用docker exec -ti t1 ping 255.255.255.255
广播ping任何这些容器。
知道如何改变这个吗?
答案 0 :(得分:0)
目前正在issue 17814
中进行此操作UDP广播在主机之间的多主机网络中不起作用 UDP广播仅在两个容器在同一主机上运行时才有效。
通过255.255.255.255上的ping操作播放icmp广播,我只收到来自本地主机的回复:
# ping -b 255.255.255.255
WARNING: pinging broadcast address
PING 255.255.255.255 (255.255.255.255) 56(84) bytes of data.
64 bytes from 172.18.0.1: icmp_req=1 ttl=64 time=0.601 ms
64 bytes from 172.18.0.1: icmp_req=2 ttl=64 time=0.424 ms
64 bytes from 172.18.0.1: icmp_req=3 ttl=64 time=0.420 ms
64 bytes from 172.18.0.1: icmp_req=4 ttl=64 time=0.427 ms
(我确保两台主机上的
/proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
都设置为0。)似乎无法在连接到共享网络的接口上设置广播地址:
# ifconfig eth0 broadcast 10.0.0.255
SIOCSIFBRDADDR: Operation not permitted
SIOCSIFFLAGS: Operation not permitted
docker/libnetwork
issue 552中讨论了<覆盖驱动程序中多播的功能
(帮助通缉)