It's a dnsmasq Docker image. It is only 6 MB in size. It is just an
ENTRYPOINT to the dnsmasq binary. Can you smell what the rock is cookin'?
It is usually a good idea to use a tag other than latest if you are using this
image in a production setting. There are several tags to choose from:
4km3/dnsmasq:2.86-r0: dnsmasq 2.86-r0 based on Alpine 3.15 (for backwards compatibility,latestpoints to this tag)4km3/dnsmasq:2.85-r2: dnsmasq 2.85-r2 based on Alpine 3.144km3/dnsmasq:edge: dnsmasq 2.86-r0 based on Alpine edge
dnsmasq requires NET_ADMIN capabilities to run correctly. Start it
with something like docker run -p 53:53/tcp -p 53:53/udp --cap-add=NET_ADMIN 4km3/dnsmasq:2.75.
The configuration is all handled on the command line (no wrapper scripts here).
The ENTRYPOINT is dnsmasq -k to keep it running in the foreground. If you
wanted to send requests for an internal domain (such as Consul) you can forward
the requests upstream using something like docker run -p 53:53/tcp -p 53:53/udp --cap-add=NET_ADMIN 4km3/dnsmasq:2.75 -S /consul/10.17.0.2. This will send a
request for redis.service.consul to 10.17.0.2
As this is a very barebones entrypoint with just enough to run in the
foreground, there is no logging enabled by default. To send logging to stdout
you can add --log-facility=- as an option.