Jestem "dokowanie" aplikacji, która wysyła rozgłaszane przez UDP pulsowanie na znanym porcie. Dzieje się tak w przypadku silnika-dokera-1.7.0 na różnych hostach (Fedora, Centos7, SLES 12).Docker docker0 i adresy rozgłoszeniowe kontenera nie są ustawione
Zauważam, że most "docker0" na hoście dokera i "eth0" wewnątrz kontenera ma adres rozgłoszeniowy 0.0.0.0.
Zakładając uprawnienia administratora na hoście, mogę ręcznie ustawić adres emisji na docker0. Podobnie w kontenerze (jeśli kontener działa z uprawnieniami lub z NET_ADMIN, NET_BROADCAST), ale jestem ciekawy, dlaczego adres broadcast nie jest ustawiony domyślnie. Czy istnieje opcja konfiguracji, której brakuje mi w Dockerze, aby to zrobić automatycznie?
Host:
# ifconfig docker0 broadcast 172.17.255.255 up
# tcpdump -i docker0 -p 5000
opakowaniu:
# ifconfig eth0 broadcast 172.17.255.255 up
# echo "Hello world" | socat - UDP-DATAGRAM:172.17.255.255:5000,broadcast
Broadcast z hosta do pojemnika działa również gdy są ustawione adresy rozgłoszeniowe.
Zobacz także: https://serverfault.com/a/881662 – tne