4km3/docker-dnsmasq

Stopped working in docker desktop for mac v2.1.0.0

Closed this issue · 3 comments

I was running the following to leverage this container to provide dns for consul with a passthrough to the google DNS server:

    docker run -d \
            -p 53:53/tcp -p 53:53/udp \
            --cap-add=NET_ADMIN \
            --name=dnsmasq \
            andyshinn/dnsmasq:2.75 \
                    --log-facility=- -q -R \
                    --dns-loop-detect \
                    --server="/consul/172.20.20.1#8600" \
                    --server="8.8.8.8"

This worked in docker for mac in version 2.0.0.0, but since the v2.1.0.0 update the following example commands timeout:

dig @172.20.20.1 -p 53 google.com ANY
dig @172.20.20.1 -p 53 my-service.service.consul ANY

(I also tried with the 2.78 and latest tags)

We'll probably need to gather some more information to troubleshoot. Maybe we can start by checkout out what is running on the VM ports? Maybe the new Docker for Mac is running DNS on the host VM?

Also, can you clarify some things:

  • The IP addresses of Consul container and dnsmasq?
  • Is 172.20.20.1 the Consul container and it is listening on both 53 and 8600 somehow?
  • Are you querying from another container? If so, how was it run?

If you can provide some example config and run commands for Consul I can try it out locally. I haven't upgraded to the edge release yet but I can do so to test if I have a reproduction scenario.

Looks like this is a docker for mac issue blocking UDP ports under 1024:

docker/for-mac#3775

Sorry for the distraction, and thanks for the quick response!

No worries, thanks for linking to the upstream so others finding this issue can follow the root cause.