UDP'yi bilinen bir bağlantı noktasında kalp atışı yapan bir uygulamayı "dockerizing" ediyorum. Bu, çeşitli ana makinelerde docker-engine-1.7.0 ile (Fedora, Centos7, SLES 12).docker docker0 ve kapsayıcı yayın adresleri ayarlanmadı
Docker ana bilgisayarındaki 'docker0' köprüsünün ve kapsayıcının içindeki 'eth0' öğelerinin her birinin 0,0.0,0 yayın adresini aldığını fark ettim.
Sunucuda yönetici ayrıcalığı varsayarak yayın adresini docker0'da elle ayarlayabilirim. Benzer şekilde, kapsayıcıda (kapsayıcı ayrıcalıklıysa veya NET_ADMIN, NET_BROADCAST ile çalışıyorsa), ancak yayın adresinin neden varsayılan olarak ayarlanmadığını merak ediyorum. Docker'ın bunu otomatik olarak yapması için eksik bir yapılandırma seçeneği var mı?
Host:
# ifconfig docker0 broadcast 172.17.255.255 up
# tcpdump -i docker0 -p 5000
Konteyner: yayın adresleri ayarlandıktan sonra kaba ana bilgisayardan
# ifconfig eth0 broadcast 172.17.255.255 up
# echo "Hello world" | socat - UDP-DATAGRAM:172.17.255.255:5000,broadcast
Yayını da çalışır.
Ayrıca bkz .: https://serverfault.com/a/881662 – tne