
mpgirro/pihole-unbound本Docker镜像将Pi-Hole(网络广告拦截工具)与Unbound(轻量级DNS解析器)集成在单个容器中,旨在简化部署流程,同时提供广告拦截和本地DNS解析能力。通过整合两个工具的功能,用户无需分别部署服务即可实现网络广告过滤、DNS查询管理及增强的DNS隐私保护。
bashdocker run -d \ --name pihole-unbound \ -p 53:53/tcp -p 53:53/udp \ # DNS服务端口 -p 80:80/tcp \ # Pi-Hole管理界面端口 -e WEBPASSWORD="your_secure_password" \ # Pi-Hole管理密码(必填) -e TZ="Asia/Shanghai" \ # 时区设置(如Asia/Shanghai) -v pihole_data:/etc/pihole \ # Pi-Hole数据持久化 -v unbound_data:/etc/unbound \# Unbound配置持久化 --restart=unless-stopped \ # 自动重启策略 [镜像名称] # 替换为实际镜像名称
yamlversion: '3' services: pihole-unbound: image: [镜像名称] # 替换为实际镜像名称 container_name: pihole-unbound ports: - "53:53/tcp" - "53:53/udp" - "80:80/tcp" environment: - WEBPASSWORD=your_secure_password # 管理界面密码 - TZ=Asia/Shanghai # 时区 - PIHOLE_DNS_1=127.0.0.1#5335 # 指向容器内Unbound服务(默认配置) - ServerIP=192.168.1.100 # 服务器IP(可选,自动检测) volumes: - pihole_data:/etc/pihole - unbound_data:/etc/unbound restart: unless-stopped volumes: pihole_data: unbound_data:
| 变量名 | 说明 | 示例值 |
|---|---|---|
WEBPASSWORD | Pi-Hole管理界面登录密码(必填) | SecurePass123! |
TZ | 时区设置(影响日志时间戳) | Asia/Shanghai |
PIHOLE_DNS_1 | 上游DNS服务器(默认指向Unbound) | 127.0.0.1#5335 |
ServerIP | Pi-Hole服务器IP(自动检测或手动指定) | 192.168.1.100 |
| 挂载路径 | 说明 |
|---|---|
/etc/pihole | 存储Pi-Hole配置、拦截规则及统计数据 |
/etc/unbound | 存储Unbound配置、根服务器信息及缓存 |
启动容器后,通过浏览器访问 http://<容器IP或主机IP>:80,使用 WEBPASSWORD 登录Pi-Hole管理界面,可配置拦截规则、查看客户端统计及DNS查询日志。
nslookup example.com <容器IP> 或 dig @<容器IP> example.com[***]),确认广告内容被屏蔽docker logs pihole-unbound,确认Unbound服务正常启动(关键词:unbound: started)[***])/etc/pihole 和 /etc/unbound 数据卷,防止配置丢失

manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务