Skip to content

Monogramm/docker-powerdns

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

49 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PowerDNS Docker Container

Image Size Docker Stars Docker Pulls Docker Automated buil

  • Small Alpine based Image
  • MySQL (default), Postgres, SQLite and Bind backend included
  • DNSSEC support optional
  • Automatic MySQL database initialization
  • Latest PowerDNS version (if not pls file an issue)
  • Guardian process enabled
  • Graceful shutdown using pdns_control

Supported tags

  • Exact: i.e. 4.3.0: PowerDNS Version 4.3.0
  • 4.0: PowerDNS Version 4.0.x, latest image build
  • 4: PowerDNS Version 4.x.x, latest image build

Usage

# Start a MySQL Container
$ docker run -d \
  --name pdns-mysql \
  -e MYSQL_ROOT_PASSWORD=supersecret \
  -v $PWD/mysql-data:/var/lib/mysql \
  mariadb:10.1

$ docker run --name pdns \
  --link pdns-mysql:mysql \
  -p 53:53 \
  -p 53:53/udp \
  -e MYSQL_USER=root \
  -e MYSQL_PASS=supersecret \
  psitrax/powerdns \
    --cache-ttl=120 \
    --allow-axfr-ips=127.0.0.1,123.1.2.3

Configuration

Environment Configuration:

  • MySQL connection settings
    • MYSQL_HOST=mysql
    • MYSQL_USER=root
    • MYSQL_PASS=root
    • MYSQL_DB=pdns
    • MYSQL_DNSSEC=no
  • To support docker secrets, use same variables as above with suffix _FILE.
  • Want to disable mysql initialization? Use MYSQL_AUTOCONF=false
  • DNSSEC is disabled by default, to enable use MYSQL_DNSSEC=yes
  • Want to use own config files? Mount a Volume to /etc/pdns/conf.d or simply overwrite /etc/pdns/pdns.conf

PowerDNS Configuration:

Append the PowerDNS setting to the command as shown in the example above. See docker run --rm psitrax/powerdns --help

License

GNU General Public License v2.0 applyies to PowerDNS and all files in this repository.

Maintainer

Credits

Packages

No packages published

Languages

  • Shell 42.4%
  • TSQL 39.8%
  • Dockerfile 17.8%