Mamy skatalizowaną aplikację serwerową, która automatycznie wykrywa urządzenia fizyczne w sieci, nasłuchując pakietów multicast na porcie 6969. Potrzebujemy więc naszego kontenera dokera, aby móc odbierać te pakiety z urządzeń zewnętrznych gospodarza, przez hosta i do kontenera. Zobaczyłem some i zrobiłem alotofreading, ale nadal nie mogę uzyskać serwer odpowiedzi na te pakiety multicast.Docker odbierający ruch multiemisji
Siedzę na Wireshark patrząc na ruch sieciowy, ale nie jestem specjalistą. Wiem, że Docker tworzy adres MASQUERADE
, aby ruch wyglądał tak, jakby pochodził z bramy Docker, więc gdy oglądam veth
widzę głównie rozmowę między 172.17.0.1
i 172.17.0.2
, chociaż mój serwer nie jest w stanie pobrać żadnych informacji o urządzeniach w sieci. (Jeśli działam poza dockerem, nie mam żadnych problemów.)
Nie mogę używać --net=host
jako, podobnie jak inni, używamy funkcji --link
. Próbowałem następujące odmiany ...
docker run --name app -p 6969:6969 -d me/app:latest
docker run --name app -p 0.0.0.0:6969:6969 -d me/app:latest
(Ten Mógłbym przysiąc pracował raz, ale teraz nie?)docker run --name app -p 0.0.0.0:6969:6969/udp -d me/app:latest
docker run --name app -p 255.255.255.255:6969:6969 -d me/app:latest
Każda pomoc lub spostrzeżenie, które możesz podać, będzie bardzo mile widziane.
Czy odpowiedź @ValeriySolovyov działa dla Ciebie? – blz