This image only contains the Powerdns component without a database. Requires adding a MariaDB database and specifying the following environment variables:
PDNS_DB_HOST: database server (default: mariadb)PDNS_DB_PORT: port (default: 3306)PDNS_DB_DBNAME: database name (default: powerdns)PDNS_DB_USER: username for database (default: powerdns)PDNS_DB_PASSWORD: password (default: powerdns)PDNS_DB_SOCKET: socket connectionPDNS_DB_DNSSEC: Dns secure (default: no)docker run -p 53:53/tcp -p 53:53/udp -e PDNS_DB_HOST=db -e PDNS_DB_PASSWORD=helloworld cyrius44/pdns:latest
You can use any variables available in the PowerDNS documentation, if you prefix them with PDNS_
Example:
pdns.conf: allow-axfr-ips=1.2.3.4,127.0.0.0/8,::1
docker run -e PDNS_ALLOW-AXFR-IPS=1.2.3.4,127.0.0.0/8,::1 -p 53:53 cyrius44/pdns:latest
If you want to have a complete stack with an admin interface, here is an example of a docker-compose.yaml file:
version: '3.7'
services:
pdns-db:
image: mariadb:latest
restart: unless-stopped
volumes:
- /etc/localtime:/etc/localtime:ro
- pdns-db:/var/lib/mysql:Z
environment:
- MARIADB_ROOT_PASSWORD=mariadb-root
- MARIADB_AUTO_UPGRADE=True
- MARIADB_USER=powerdns
- MARIADB_PASSWORD=powerdns
- MARIADB_DATABASE=powerdns
healthcheck:
test: ['CMD', 'mariadb-admin', 'ping', '-h', 'localhost']
timeout: 10s
retries: 5
pdns:
image: cyrius44/pdns:latest
restart: unless-stopped
environment:
- PDNS_DB_HOST=pdns-db
- PDNS_DB_DBNAME=powerdns
- PDNS_DB_USER=powerdns
- PDNS_DB_PASSWORD=powerdns
- PDNS_API=yes
- PDNS_API-KEY=0123456789
- PDNS_DB_DNSSEC=true
- PDNS_WEBSERVER=yes
- PDNS_WEBSERVER-PORT=8081
- PDNS_WEBSERVER-ADDRESS=0.0.0.0
- PDNS_WEBSERVER-ALLOW-FROM=127.0.0.1,127.0.0.0/8,::1,172.16.0.0/12,192.168.0.0/16
volumes:
- /etc/localtime:/etc/localtime:ro
depends_on:
- pdns-db
ports:
- 53:53/tcp
- 53:53/udp
pdns-admin:
image: powerdnsadmin/pda-legacy:latest
restart: unless-stopped
depends_on:
- pdns-db
environment:
- SQLALCHEMY_DATABASE_URI=mysql://powerdns:powerdns@pdns-db/powerdns
volumes:
- /etc/localtime:/etc/localtime:ro
- pdns-data:/data
ports:
- 80:80/tcp
volumes:
pdns-db:
pdns-data:
Content type
Image
Digest
sha256:28529556b…
Size
41.8 MB
Last updated
about 1 year ago
docker pull cyrius44/pdns