
PowerDNS是由PowerDNS.COM BV及众多贡献者开发的开源DNS解决方案,采用GNU GPLv2许可。它集成了权威服务器(Authoritative Server)、递归器(Recursor)和dnsdist(DNS负载均衡器)三大组件,可满足企业级DNS服务的构建需求。完整文档请访问官方文档网站。
PowerDNS Docker镜像的详细说明请参考https://github.com/PowerDNS/pdns/blob/master/Docker-README.md%E3%80%82
通过Git克隆源代码仓库:
shgit clone https://github.com/PowerDNS/pdns.git
仓库包含权威服务器、递归器和dnsdist的完整源代码,支持单独构建各组件。
编译权威服务器
权威服务器依赖Boost、OpenSSL、Lua等库,需C++17兼容编译器。
依赖安装
Debian系统:
sh# 基础依赖 apt install g++ libboost-all-dev libtool make pkg-config default-libmysqlclient-dev libssl-dev libluajit-5.1-dev python3-venv # Git源码额外依赖 apt install autoconf automake ragel bison flex
Ubuntu系统:
sh# 基础编译依赖 apt install libcurl4-openssl-dev luajit lua-yaml-dev libyaml-cpp-dev libtolua-dev lua5.3 autoconf automake ragel bison flex g++ libboost-all-dev libtool make pkg-config libssl-dev lua-yaml-dev libyaml-cpp-dev libluajit-5.1-dev libcurl4 gawk libsqlite3-dev python3-venv # DNSSEC ed25519支持 apt install libsodium-dev # MySQL后端支持 apt install default-libmysqlclient-dev # PostgreSQL后端支持 apt install libpq-dev # systemd服务支持 apt install libsystemd0 libsystemd-dev # GeoIP后端支持 apt install libmaxminddb-dev libmaxminddb0 libgeoip1 libgeoip-dev
编译步骤
生成配置文件:
shautoreconf -vi
基础编译(无模块版本):
sh./configure --with-modules="" --disable-lua-records make # 可选安装:make install
多模块编译(如Bind+MySQL+PostgreSQL):
sh./configure --with-modules="bind gmysql gpgsql"
注:添加特定后端模块需安装对应开发依赖(如PostgreSQL需libpq-dev)
更多编译细节参见官方编译文档。
若遇到C++11符号兼容性问题,可尝试:
sh./configure CPPFLAGS=-D_GLIBCXX_USE_CXX11_ABI=0 # 或1,根据依赖调整
编译递归器
递归器编译说明见源码目录:pdns/recursordist/README.md
编译dnsdist
dnsdist编译说明见源码目录:pdns/README-dnsdist.md
基于Sphinx从ReStructured Text生成HTML文档:
生成文档位于shcd docs make html-docs
html-docs目录。FreeBSD
gmake而非系统默认makeshexport CXXFLAGS=-std=c++17
macOS
shbrew install pdns
sh# 安装依赖 brew install boost lua pkg-config ragel openssl # 配置(指定OpenSSL路径) ./configure --with-modules="" PKG_CONFIG_PATH=/usr/local/opt/openssl/lib/pkgconfig make -j4 # PostgreSQL支持:brew install postgresql,添加--with-modules="gpgsql" # MySQL支持:brew install mariadb,添加--with-modules="gmysql"
Linux
无特殊编译要求。
发现bug请先在https://github.com/PowerDNS/pdns/issues%E6%A3%80%E6%9F%A5%E6%98%AF%E5%90%A6%E5%B7%B2%E6%8A%A5%E5%91%8A%EF%BC%8C%E5%86%8D%E6%8F%90%E4%BA%A4%E6%96%B0issue%E3%80%82
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。






探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
无需登录使用专属域名
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
Harbor Proxy Repository 对接专属域名
Portainer Registries 加速拉取
Nexus3 Docker Proxy 内网缓存
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
docker search 限制
站内搜不到镜像
离线 save/load
插件要用 plugin install
WSL 拉取慢
安全与 digest
新手拉取配置
镜像合规机制
manifest unknown
no matching manifest(架构)
invalid tar header(解压)
TLS 证书失败
DNS 超时
域名连通性排查
410 Gone 排查
402 与流量用尽
401 认证失败
429 限流
D-Bus 凭证提示
413 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务