Internal DNS, zero config — containers resolve themselves.
DNS Resolver combines CoreDNS and docker-gen in a single container. Every
*.your.domain query resolves to your host IP; Traefik routes by Host() header. New containers become resolvable within seconds — no manual DNS edits required.Why DNS Resolver?
Auto container discovery
docker-gen watches the Docker socket and rewrites the hosts file on every container start or stop. CoreDNS reloads it automatically.
Wildcard zone
Every *.your.domain query resolves to HOST_IP. Pair with Traefik: it inspects the Host() header and routes to the correct container.
Environment-only config
No Corefile or zone file to maintain. The entrypoint generates both from templates at every container start using your environment variables.
Authoritative or split-horizon
DNS_AUTHORITATIVE=true returns NXDOMAIN for unknowns (default). Set to false for split-horizon: unknown subdomains fall through to your upstream resolver.
ACME DNS-01 support
Enable ACME_DNS_ENABLED=true to forward auth.DOMAIN queries to an acme-dns sidecar — enabling DNS-01 certificate issuance without exposing port 80.
Single container, two binaries
CoreDNS 1.12 and docker-gen run as sibling processes inside one Alpine container. No orchestration overhead, no shared volumes.