Abbiamo un'applicazione server dockerizzata che esegue il rilevamento automatico di dispositivi fisici sulla rete ascoltando pacchetti multicast sulla porta 6969. Pertanto, è necessario che il contenitore docker sia in grado di ricevere questi pacchetti dai dispositivi esterni l'host, tramite l'host e dentro al contenitore. Ho visto somesimilarissues e fatto alotofreading ma non riesco ancora a ottenere il server per rispondere a questi pacchetti multicast.Docker che riceve traffico multicast
Sono seduto su Wireshark a guardare il traffico di rete, ma non sono uno specialista. So che Docker crea un indirizzo MASQUERADE
per far sembrare che tutto il traffico provenga dal gateway Docker, quindi quando guardo lo veth
vedo per lo più parlare tra 172.17.0.1
e 172.17.0.2
sebbene il mio server non sia in grado di recuperare alcuna informazione sui dispositivi sulla rete. (Se corro all'esterno della finestra mobile, naturalmente non ho problemi.)
Non riesco a utilizzare --net=host
come, come altri, ci avvaliamo della funzione --link
. Ho provato le seguenti variazioni ...
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
(Questo avrei giurato ha funzionato una volta, ma ora non lo fa?)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
Qualsiasi aiuto o intuizione che potresti fornire sarebbe molto apprezzato.
La risposta di @ValeriySolovyov ha funzionato per te? – blz