简体   繁体   中英

broadcast UDP from docker (on Windows host) does not make it to the LAN

I am running code talking to GigE Vision / gen<i>cam cameras inside a docker container. The real deployment will run on Windows host (unfortunately). The cameras respond to broadcasted UDP discovery packets to port 3965 (wireshark dissects those as GVCP protocol, DISCOVER_CMD):

线鲨截图

Obviously, UDP packets can't cross network bridges, though --network=host helped on Linux: the camera was discovered.

On Windows host, the --network=host had no effect and the discover packet (sent from within the container) never makes it to the LAN. The Windows Defender firewall is off and there is no other firewall/antivirus/whatever active.

I can also run camera discovery program in Windows (not in the hosted container) and it works.

Any idea what could be wrong? I was googling for things like "docker egress UDP windows" with no useful result.

Probably already to late but in case someone else comes along.

Docker --network=host wont work in windows and therefore has no effect as stated here:

This can be found in the Docker Documentation

The host networking driver only works on Linux hosts, and is not supported on Docker Desktop for Mac, Docker Desktop for Windows, or Docker EE for Windows Server.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM