Overview

Full name
docker.io/procube/powerdns
Registry
docker.io
Namespace
procube
Repository
powerdns
Cached tags
5
Last synced
07/06/2026, 01:44 PM

Introduction

Procube 打包的 PowerDNS Authoritative 镜像,通过 API 与 MySQL/PostgreSQL 后端管理 DNS 记录,适合内网权威解析与动态域名场景。

Details

procube/powerdns 运行 PowerDNS Authoritative Server,支持 REST API 与 gmysql/gpgsql 后端存储 zone 数据。典型用于 K8s 集群内网 DNS、开发环境动态 subdomain 或替代 BIND 的 API 驱动方案。与 powerdns/pdns 官方镜像相比预置 procube 运维脚本;配置经 pdns.conf 挂载,API Key 须保密,生产固定 tag 并备份 backend 数据库。

快速启动

docker run -d --name powerdns \
  -p 53:53/udp -p 53:53/tcp -p 8081:8081 \
  -e PDNS_API_KEY=changeme \
  docker.io/procube/powerdns:latest

推荐实践

docker run -d --name powerdns \
  --restart unless-stopped \
  -p 53:53/udp -p 53:53/tcp -p 8081:8081 \
  -v /data/powerdns/pdns.conf:/etc/powerdns/pdns.conf \
  -e PDNS_API_KEY=long-random-key \
  -e MYSQL_HOST=mysql.internal \
  docker.io/procube/powerdns:4.9.0

核心参数说明

  • -p 53:53/udp -p 53:53/tcp — DNS 查询端口
  • -p 8081:8081 — PowerDNS REST API
  • -v .../pdns.conf:... — 权威服务器主配置
  • -e PDNS_API_KEY — API 鉴权密钥
  • -e MYSQL_HOST — gmysql 后端地址
  • --restart unless-stopped — 解析服务持续在线

Kubernetes

apiVersion: apps/v1
kind: Deployment
metadata:
  name: powerdns
spec:
  replicas: 2
  selector:
    matchLabels:
      app: powerdns
  template:
    metadata:
      labels:
        app: powerdns
    spec:
      containers:
        - name: pdns
          image: docker.io/procube/powerdns:4.9.0
          ports:
            - containerPort: 53
              protocol: UDP
            - containerPort: 8081
          envFrom:
            - secretRef:
                name: pdns-secrets
          volumeMounts:
            - name: config
              mountPath: /etc/powerdns/pdns.conf
              subPath: pdns.conf
      volumes:
        - name: config
          configMap:
            name: pdns-config
---
apiVersion: v1
kind: Service
metadata:
  name: powerdns
spec:
  selector:
    app: powerdns
  ports:
    - port: 53
      protocol: UDP
      targetPort: 53
    - port: 8081
      targetPort: 8081

backend MySQL 独立 StatefulSet;CoreDNS forward 或 NodeLocal DNS 指向此 Service,API Key 经 Secret 注入。

Latest tags (20)

View all 5 tags →
TagArchPushed AtSizeDigestSyncWishAction
docker.io/procube/powerdns
:4.2.1
linux/amd64
2022/10/12 08:39145.8 MBsha256:584e9e732477
docker.io/procube/powerdns
:4.6.2
linux/amd64
2022/04/20 09:59162.9 MBsha256:a2fe3a536987
docker.io/procube/powerdns
:latest
linux/amd64
2022/04/20 09:49162.9 MBsha256:175a8d692d32
docker.io/procube/powerdns
:4.6.2-rc0
linux/amd64
2022/04/19 18:52162.9 MBsha256:a2fe3a536987
docker.io/procube/powerdns
:4.5.1-1
linux/amd64
2021/09/01 21:26162.0 MBsha256:569ff919df9b