Local discovery uses broadcasts and multicasts on the local network. Docker provides a separate network for each container (this is a major part of the “container” bit). I do not think you can get local discovery working between Docker containers, but I’m not a Docker expert. Maybe you can create a named network in Docker and wire both containers to it.
Typically you will only get local discovery working if you use the --net=host option. This basically wires your container network directly to the docker host network, meaning you won’t need to do things like port forwarding definitions. You lose some of the isolation provided by the container though, so make sure you’re ok with that.