linuxserver/adguardhome-synclinuxserver/adguardhome-sync是由LinuxServer.io团队维护的Docker镜像,用于运行Adguardhome-sync工具。该工具的主要功能是将AdGuardHome的配置同步到多个副本实例,确保所有AdGuardHome实例的配置保持一致。镜像特点包括定期应用更新、简单的用户映射(PGID、PUID)、基于s6 overlay的自定义基础镜像,以及每周基础操作系统更新和安全更新。
该镜像利用Docker manifest实现多平台支持,拉取lscr.io/linuxserver/adguardhome-sync:latest即可自动获取适合当前架构的镜像,也可通过标签指定特定架构:
| 架构 | 支持情况 | 标签 |
|---|---|---|
| x86-64 | ✅ | amd64- |
| arm64 | ✅ | arm64v8- |
需编辑adguardhome-sync.yaml配置文件,填入AdGuardHome实例详情(主实例和副本实例的地址、认证信息等)。详细配置说明可参考AdGuardHome Sync官方文档。
该镜像支持以只读容器文件系统方式运行,详情请参阅LinuxServer.io只读文档。
该镜像支持以非root用户身份运行,详情请参阅LinuxServer.io非root文档。
yaml--- services: adguardhome-sync: image: lscr.io/linuxserver/adguardhome-sync:latest container_name: adguardhome-sync environment: - PUID=1000 # 用户ID - PGID=1000 # 组ID - TZ=Etc/UTC # 时区 - CONFIGFILE=/config/adguardhome-sync.yaml # 自定义配置文件路径(可选) volumes: - /path/to/adguardhome-sync/config:/config # 配置文件目录 ports: - 8080:8080 # Web API端口 restart: unless-stopped
bashdocker run -d \ --name=adguardhome-sync \ -e PUID=1000 \ -e PGID=1000 \ -e TZ=Etc/UTC \ -e CONFIGFILE=/config/adguardhome-sync.yaml `# 可选:自定义配置文件路径` \ -p 8080:8080 \ -v /path/to/adguardhome-sync/config:/config \ --restart unless-stopped \ lscr.io/linuxserver/adguardhome-sync:latest
容器运行时通过参数进行配置,格式为<外部>:<内部>:
| 参数 | 功能 |
|---|---|
-p 8080:8080 | AdGuardHome Sync的Web API端口 |
-e PUID=1000 | 用户ID,用于权限映射 |
-e PGID=1000 | 组ID,用于权限映射 |
-e TZ=Etc/UTC | 时区设置,参考时区列表 |
-e CONFIGFILE=/config/adguardhome-sync.yaml | 自定义配置文件路径(可选) |
-v /config | 配置文件存储目录 |
--read-only=true | 以只读文件系统运行容器(需参考只读文档) |
--user=1000:1000 | 以非root用户运行容器(需参考非root文档) |
可通过FILE__前缀从文件中设置环境变量,例如:
bash-e FILE__MYVAR=/run/secrets/mysecretvariable
这会将MYVAR环境变量的值设置为/run/secrets/mysecretvariable文件的内容。
可通过-e UMASK=022覆盖默认umask设置,用于调整容器内服务的文件权限。umask通过减法调整权限,而非直接设置权限,详情请参考umask说明。
使用卷(-v参数)时,主机与容器可能出现权限问题。通过指定PUID(用户ID)和PGID(组ID),确保主机卷目录与容器内用户权限一致。使用以下命令获取当前用户的PUID和PGID:
bashid your_user
示例输出:
textuid=1000(your_user) gid=1000(your_user) groups=1000(your_user)
LinuxServer.io提供多种Docker Mods以扩展容器功能。上述徽章链接可查看适用于此镜像的Mods及通用Mods。
容器内Shell访问:
bashdocker exec -it adguardhome-sync /bin/bash
实时日志监控:
bashdocker logs -f adguardhome-sync
容器版本号:
bashdocker inspect -f '{{ index .Config.Labels "build_version" }}' adguardhome-sync
镜像版本号:
bashdocker inspect -f '{{ index .Config.Labels "build_version" }}' lscr.io/linuxserver/adguardhome-sync:latest
大部分镜像为静态版本,需更新镜像并重建容器以更新应用。更新步骤如下:
更新镜像:
所有镜像:
bashdocker-compose pull
单个镜像:
bashdocker-compose pull adguardhome-sync
更新容器:
所有容器:
bashdocker-compose up -d
单个容器:
bashdocker-compose up -d adguardhome-sync
清理旧镜像:
bashdocker image prune
更新镜像:
bashdocker pull lscr.io/linuxserver/adguardhome-sync:latest
停止运行中的容器:
bashdocker stop adguardhome-sync
删除容器:
bashdocker rm adguardhome-sync
使用相同参数重建容器(配置文件通过卷映射时会保留)
清理旧镜像:
bashdocker image prune
[!TIP] 推荐使用Diun接收更新通知。不建议使用自动更新容器的工具。
如需本地修改或自定义镜像:
bashgit clone [***] cd docker-adguardhome-sync docker build \ --no-cache \ --pull \ -t lscr.io/linuxserver/adguardhome-sync:latest .
可使用lscr.io/linuxserver/qemu-static在x86_64硬件上构建ARM变体,反之亦然:
bashdocker run --rm --privileged lscr.io/linuxserver/qemu-static --reset
注册后,可使用-f Dockerfile.aarch64指定架构对应的Dockerfile。



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