Sign inSign up

eilandert/unbound

By eilandert

Updated about 6 hours ago

Dockerized unbound based on alpine edge

Image
3

100K+

eilandert/unbound repository overview

Unbound — hardened recursive, validating DNS resolver (Alpine)

eilandert/unbound is a tiny, security-hardened Docker image of Unbound, the validating, recursive, caching DNS resolver. It is part of the deb.myguard.nl container stack, where it provides fast local DNS with DNSSEC validation for the mail and web services (and removes the dependency on — and leakage to — third-party resolvers).

Why run Unbound in Docker

  • Private, validating resolver on your own network: DNSSEC checking, aggressive caching, no query logging to an upstream provider.
  • A natural fit for mail hosts — rspamd, Postfix and RBL lookups hammer DNS; a local recursive resolver makes them faster and more reliable.
  • Hardened, minimal Alpine base — non-root, dropped capabilities, read-only root filesystem. See Docker Hardening for Self-Hosters.

Hardened docker-compose.yml

services:
  unbound:
    image: eilandert/unbound:latest
    restart: unless-stopped
    read_only: true
    cap_drop: [ALL]
    cap_add:
      - NET_BIND_SERVICE   # bind port 53
    security_opt:
      - no-new-privileges:true
    volumes:
      - ./unbound.conf.d:/etc/unbound/unbound.conf.d:ro
    ports:
      - "127.0.0.1:53:53/udp"
      - "127.0.0.1:53:53/tcp"

Keep it on an internal network or loopback unless you intentionally run an open resolver (you almost never should — open resolvers get abused for DNS amplification).

Tag summary

Content type

Image

Digest

sha256:39d0713be

Size

8.5 MB

Last updated

about 6 hours ago

docker pull eilandert/unbound