本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com

PowerDNS Recursor是PowerDNS项目旗下的DNS递归服务器组件,负责接收客户端DNS查询请求,通过迭代查询从根域名服务器获取解析结果并返回。该Docker镜像封装了PowerDNS Recursor v5.1.x版本,旨在简化部署流程,确保跨环境的一致性,为各类DNS解析场景提供开箱即用的解决方案。
使用默认配置启动容器(仅监听本地回环地址,适用于测试):
docker run -d --name pdns-recursor \ -p 53:53/udp -p 53:53/tcp \ powerdns/pdns-recursor:5.1
创建本地配置文件(示例recursor.conf):
# 允许所有IP发起查询(生产环境建议限制来源IP) allow-from=0.0.0.0/0 # 监听所有网络接口 local-address=0.0.0.0 # 启用DNS查询日志 log-dns-queries=yes # 缓存最大生存时间(24小时) max-cache-ttl=86400 # 启用DNSSEC验证 dnssec=validate # 启用Web监控接口(用于Prometheus指标) webserver=0.0.0.0:8081 webserver-password=your-secure-password
启动容器并挂载配置文件:
docker run -d --name pdns-recursor \ -p 53:53/udp -p 53:53/tcp -p 8081:8081 \ -v $(pwd)/recursor.conf:/etc/powerdns/recursor.conf \ -v $(pwd)/logs:/var/log/powerdns \ # 挂载日志目录(可选) powerdns/pdns-recursor:5.1
支持部分常用参数通过环境变量传递(完整列表见***文档):
docker run -d --name pdns-recursor \ -p 53:53/udp -p 53:53/tcp \ -e ALLOW_FROM=192.168.1.0/24 \ # 限制仅内网IP可查询 -e LOCAL_ADDRESS=0.0.0.0 \ -e LOG_DNS_QUERIES=yes \ -e DNSSEC=validate \ powerdns/pdns-recursor:5.1
创建docker-compose.yml文件,定义服务与持久化配置:
version: '3' services: pdns-recursor: image: powerdns/pdns-recursor:5.1 container_name: pdns-recursor ports: - "53:53/udp" - "53:53/tcp" - "8081:8081" # 监控接口 volumes: - ./recursor.conf:/etc/powerdns/recursor.conf - ./logs:/var/log/powerdns environment: - TZ=Asia/Shanghai # 设置时区 restart: unless-stopped # 容器退出时自动重启
启动服务:
docker-compose up -d
| 参数名 | 描述 | 默认值 | 建议配置 |
|---|---|---|---|
allow-from | 允许发起查询的客户端IP范围 | 127.0.0.0/8 | 生产环境限制为信任网段(如10.0.0.0/8) |
local-address | 服务监听IP地址 | 127.0.0.0 | 0.0.0.0(需要对外提供服务时) |
log-dns-queries | 是否记录DNS查询日志 | no | yes(便于审计与问题排查) |
max-cache-ttl | 缓存记录最大生存时间(秒) | 86400 (24小时) | 根据网络稳定性调整(如43200) |
dnssec | DNSSEC验证模式 | process-no-validate | validate(启用严格验证) |
webserver | 监控接口地址与端口 | 未启用 | 0.0.0.0:8081(启用监控时) |
webserver-password | 监控接口访问密码 | 未设置 | 复杂密码(如P@ssw0rd!2024) |
docker logs pdns-recursor实时查看;挂载日志目录后,日志文件位于./logs/recursor.log。http://<容器IP>:8081/metrics获取Prometheus格式指标,包含查询量、缓存命中率、响应时间等关键指标(访问需验证密码)。免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录方式配置轩辕镜像加速服务,包含7个详细步骤
在 Linux 系统上配置轩辕镜像源,支持主流发行版
在 Docker Desktop 中配置轩辕镜像加速,适用于桌面系统
在 Docker Compose 中使用轩辕镜像加速,支持容器编排
在 k8s 中配置 containerd 使用轩辕镜像加速
在宝塔面板中配置轩辕镜像加速,提升服务器管理效率
在 Synology 群晖NAS系统中配置轩辕镜像加速
在飞牛fnOS系统中配置轩辕镜像加速
在极空间NAS中配置轩辕镜像加速
在爱快ikuai系统中配置轩辕镜像加速
在绿联NAS系统中配置轩辕镜像加速
在威联通NAS系统中配置轩辕镜像加速
在 Podman 中配置轩辕镜像加速,支持多系统
配置轩辕镜像加速9大主流镜像仓库,包含详细配置步骤
无需登录即可使用轩辕镜像加速服务,更加便捷高效
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429