Unbound is a validating, recursive, and caching DNS resolver.
Note that this image is distroless!
"Distroless" images contain only your application and its runtime dependencies. They do not contain package managers, shells or any other programs you would expect to find in a standard Linux distribution.
Run a recursive dns server on host port 53 with the default configuration.
docker run --name unbound \
-p 53:53/tcp -p 53:53/udp \
klutchell/unbound
Optionally mount
custom configuration
from a host directory. Files must be readable by user/group 101:102
or world.
docker run --name unbound \
-p 53:53/tcp -p 53:53/udp \
-v /path/to/config:/etc/unbound/custom.conf.d \
klutchell/unbound
The cache DB module was compiled into daemon, but is disabled by default. To enable this module, follow this steps:
Modify unbound.conf to add the following directive:
module-config: "validator cachedb iterator"
Create a cachedb.conf
under your custom configuration directory
/path/to/config/custom.conf.d
with Redis credentials:
cachedb:
backend: "redis"
redis-server-host: redis
redis-server-port: 6379
redis-expire-records: yes
Files must be readable by user/group 101:102
or world.
Examples of docker-compose usage can be found in examples.
This software is licensed under the BSD 3-Clause License.
Original software is by NLnet Labs: https://unbound.net