
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
本镜像是基于官方 https://hub.docker.com/r/pihole/pihole 镜像构建的增强版本,集成了 https://github.com/jacklul/pihole-updatelists 脚本,旨在简化和自动化Pi-hole广告拦截列表的管理与更新流程。
主要用途:提供DNS级别的网络广告、跟踪器和***域名拦截功能,并通过集成的pihole-updatelists脚本实现广告拦截列表的自动化更新、多源列表聚合及自定义规则管理,适用于家庭或小型网络环境的广告过滤需求。
1. Docker Run 命令部署
bashdocker run -d \ --name pihole-updatelists \ -p 53:53/tcp -p 53:53/udp \ -p 80:80 \ -e TZ="Asia/Shanghai" \ -e WEBPASSWORD="your_secure_password" \ -e SERVERIP="192.168.1.100" \ -e PIHOLE_DNS_1="8.8.8.8" -e PIHOLE_DNS_2="8.8.4.4" \ -e UPDATELISTS_AUTOUPDATE="true" \ -e UPDATELISTS_INTERVAL="24h" \ -v "$(pwd)/pihole:/etc/pihole" \ -v "$(pwd)/dnsmasq.d:/etc/dnsmasq.d" \ --restart=unless-stopped \ jacklul/pihole-updatelists:latest # 假设镜像名称为jacklul/pihole-updatelists,具体以实际为准
2. Docker Compose 部署
创建 docker-compose.yml 文件:
yamlversion: "3" services: pihole: image: jacklul/pihole-updatelists:latest # 替换为实际镜像名称和标签 container_name: pihole-updatelists restart: unless-stopped ports: - "53:53/tcp" - "53:53/udp" - "80:80" # Web管理界面端口(可自定义为其他端口,如8080:80) environment: # 基础配置(继承自官方Pi-hole) - TZ=Asia/Shanghai - WEBPASSWORD=your_secure_password # 必填:Web界面登录密码 - SERVERIP=192.168.1.100 # 主机IP地址 - PIHOLE_DNS_1=8.8.8.8 # 上游DNS服务器1 - PIHOLE_DNS_2=8.8.4.4 # 上游DNS服务器2 # pihole-updatelists配置(详细参数见GitHub文档) - UPDATELISTS_AUTOUPDATE=true # 启用自动更新 - UPDATELISTS_INTERVAL=24h # 每24小时更新一次列表 - UPDATELISTS_URLS=https://raw.githubusercontent.com/StevenBlack/hosts/master/hosts,https://mirror1.malwaredomains.com/files/justdomains # 自定义列表URL(示例) volumes: - ./pihole:/etc/pihole # 持久化Pi-hole配置和列表数据 - ./dnsmasq.d:/etc/dnsmasq.d # dnsmasq配置文件 cap_add: - NET_ADMIN # 部分环境需此权限修改网络配置(如DNS端口占用时)
基础环境变量(继承自官方Pi-hole)
| 环境变量 | 说明 | 示例值 |
|---|---|---|
TZ | 时区设置,用于日志时间和定时任务(如列表更新)。 | Asia/Shanghai |
WEBPASSWORD | Web管理界面登录密码(必填,建议使用强密码)。 | SecurePass123! |
SERVERIP | 主机IP地址,用于Web界面显示和客户端DNS指向。 | 192.168.1.100 |
PIHOLE_DNS_1 | 上游DNS服务器1(如Google DNS、Cloudflare DNS等)。 | 8.8.8.8 |
PIHOLE_DNS_2 | 上游DNS服务器2(可选,用于冗余)。 | 8.8.4.4 |
pihole-updatelists专用环境变量
详细配置请参考 https://github.com/jacklul/pihole-updatelists?tab=readme-ov-file#environment-variables%EF%BC%8C%E4%BB%A5%E4%B8%8B%E4%B8%BA%E5%B8%B8%E7%94%A8%E5%8F%82%E6%95%B0%EF%BC%9A
| 环境变量 | 说明 | 示例值 |
|---|---|---|
UPDATELISTS_AUTOUPDATE | 是否启用列表自动更新(true/false)。 | true |
UPDATELISTS_INTERVAL | 自动更新间隔(支持s/m/h/d单位,如12h表示每12小时更新)。 | 24h |
UPDATELISTS_URLS | 自定义拦截列表URL(多个URL用逗号分隔,覆盖默认列表)。 | https://list1.com,https://list2.com |
UPDATELISTS_CONFIG | 自定义配置文件路径(默认使用 /etc/pihole/updatelists.conf)。 | /etc/pihole/custom-updatelists.conf |
| 本地路径 | 容器内路径 | 说明 |
|---|---|---|
./pihole | /etc/pihole | 持久化存储Pi-hole配置、拦截列表数据库、统计数据等(必须挂载,避免重启后配置丢失)。 |
./dnsmasq.d | /etc/dnsmasq.d | 存储dnsmasq自定义配置(如额外DNS规则、端口修改等,可选挂载)。 |
http://<主机IP> 访问Pi-hole管理界面,使用 WEBPASSWORD 登录。Settings > Blocklists 中查看列表状态,或通过容器日志验证更新任务:
bashdocker logs pihole-updatelists | grep "updatelists"
./pihole 目录,防止数据丢失。WEBPASSWORD 需设置强密码,且避免将Web管理界面暴露在公网。以下是 jacklul/pihole 相关的常用 Docker 镜像,适用于 不同场景 等不同场景:
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务