https://github.com/hickory-dns/docker
The Docker image for hickory-dns
https://github.com/hickory-dns/docker
docker docker-image hickory-dns
Last synced: 4 months ago
JSON representation
The Docker image for hickory-dns
- Host: GitHub
- URL: https://github.com/hickory-dns/docker
- Owner: hickory-dns
- License: apache-2.0
- Created: 2021-07-19T14:25:12.000Z (almost 5 years ago)
- Default Branch: master
- Last Pushed: 2025-05-05T20:16:31.000Z (about 1 year ago)
- Last Synced: 2025-05-05T21:28:02.129Z (about 1 year ago)
- Topics: docker, docker-image, hickory-dns
- Language: Dockerfile
- Homepage: https://hub.docker.com/r/hickorydns/hickory-dns
- Size: 228 KB
- Stars: 9
- Watchers: 7
- Forks: 3
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE-APACHE
Awesome Lists containing this project
README
[](LICENSE-MIT)
[](LICENSE-APACHE)

# hickory-DNS in Docker
This is the [hickory-dns](https://github.com/hickory-dns/hickory-dns#readme) Docker image
## Enabled [features](https://github.com/hickory-dns/hickory-dns/#using-as-a-dependency-and-custom-features) in the image
- `ascii-art`
- `blocklist`
- `dnssec-ring`
- `h3-ring`
- `https-ring`
- `quic-ring`
- `resolver`
- `recursor`
- `rustls-platform-verifier`
- `sqlite`
- `webpki-roots`
## Additional files
The container has some more files copied from the Debian (`trixie`) package `dns-root-data`.
See: https://www.iana.org/domains/root/files
- `/usr/share/dns/root.ds` The DNS `DS` record for DNSSEC validation of the root `.` (https://data.iana.org/root-anchors/root-anchors.xml).
- `/usr/share/dns/root.hints` The hints to the DNS root servers (https://www.internic.net/domain/named.root).
- `/usr/share/dns/root.key` The DNS `DNSKEY` record for DNSSEC validation of the root `.` (https://data.iana.org/root-anchors/root-anchors.xml).
## Example use in `docker compose`
File `compose.yml`:
```yaml
services:
dns-server:
image: docker.io/hickorydns/hickory-dns:latest
volumes:
- ./config/dns/named.toml:/etc/named.toml:ro
- ./config/dns/ipv6_block.zone:/var/named/ipv6_block.zone:ro
ports:
- "53:53/tcp"
- "53:53/udp"
```
You can find two tested examples in this repository:
- [named-forwarding.toml](./tests/named-forwarding.toml)
- [named-recursive.toml](./tests/named-recursive.toml)
### Contributing
#### Build a pull-request or your work
You can add the argument `FEATURES=` to define the list of enabled features
- Edit and run
```sh
IMAGE_TAG="yourUsername/hickory-dns:custom-version" \
VERSION="0.20.x-dev" \
SOURCE_FILE="https://github.com/hickory-dns/hickory-dns/archive/refs/heads/stop-returning-ns-on-auth-response.tar.gz" \
SOURCE_SHA256="$(curl -Ls "${SOURCE_FILE}" -o - | sha256sum | cut -d ' ' -f 1)" \
make build-alpine
```
To use wget, replace `curl -Ls "${SOURCE_FILE}" -o -` by `wget "${SOURCE_FILE}" -O -`
#### Push the result to your repository
```sh
IMAGE_TAG="yourUsername/hickory-dns:custom-version" make push
```