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

!banner
!size!5px!pulls!5px!5px!swiss_made
Run AdGuardHome rootless and distroless.
AdGuard Home is a network-wide software for blocking ads and tracking. After you set it up, it'll cover all your home devices, and you won't need any client-side software for that.
What can I do with this? This image will run AdGuard-Home rootless and distroless, for maximum security and performance.
Why should I run this image and not the other image(s) that already exist? Good question! Because ...
If you value security, simplicity and optimizations to the extreme, then this image might be for you.
Below you find a comparison between this image and the most used or original one.
| image | size on disk | init default as | distroless | supported architectures |
|---|---|---|---|---|
| adguard/adguardhome | 75MB | 0:0 | ❌ | 386, amd64, arm64, armv6, armv7, ppc64le |
dns: bind_hosts: - 0.0.0.0 ratelimit: 0 aaaa_disabled: true all_servers: true upstream_dns: - 9.9.9.10 bootstrap_dns: - 9.9.9.10 cache_size: *** max_goroutines: 1024 hostsfile_enabled: false dhcp: enabled: false http: address: 0.0.0.0:3000 session_ttl: 720h querylog: enabled: true file_enabled: true size_memory: 8 dir_path: /adguard/var users: - name: admin password: $2b$12$xzIFiVMrq2jv5NH5pNNQSuEK84FDNI4PoiJbKIhZqUe1Ld/v1BI9W auth_attempts: 3 block_auth_min: 60 filtering: blocking_mode: nxdomain cache_time: 1440 filters_update_interval: 24 blocked_response_ttl: 3660 protection_enabled: true clients: persistent: - name: dnslookup ids: - 127.0.0.1 ignore_querylog: true ignore_statistics: true log: enabled: true file: "" max_backups: 0 max_size: 100 max_age: 3 compress: false local_time: true verbose: false schema_version: 29
The default configuration contains no special settings, except ignoring the dnslookup health check in the statistics and as a client to not pollute your UI or statistics. Consider replacing it with your own or start the container with the default one and start changing what you need. The configuration will be updated with your settings if you use the mentioned volumes below. It is recommended to always add the exception for dnslookup.
clients: persistent: - name: dnslookup ids: - 127.0.0.1 ignore_querylog: true ignore_statistics: true
name: "dns" x-lockdown: &lockdown # prevents write access to the image itself read_only: true # prevents any process within the container to gain more privileges security_opt: - "no-new-privileges=true" services: adguard: image: "11notes/adguard:0.107.68" <<: *lockdown environment: TZ: "Europe/Zurich" volumes: - "adguard.etc:/adguard/etc" - "adguard.var:/adguard/var" tmpfs: # tmpfs volume because of read_only: true - "/adguard/run:uid=1000,gid=1000" ports: - "53:53/udp" - "53:53/tcp" - "3000:3000/tcp" networks: frontend: sysctls: # allow rootless container to access ports < 1024 net.ipv4.ip_unprivileged_port_start: 53 restart: "always" volumes: adguard.etc: adguard.var: networks: frontend:
To find out how you can change the default UID/GID of this container image, consult the RTFM.
| Parameter | Value | Description |
|---|---|---|
user | docker | user name |
uid | 1000 | user identifier |
gid | 1000 | group identifier |
home | /adguard | home directory of user docker |
login | admin // adguard | login using default config |
| Parameter | Value | Default |
|---|---|---|
TZ | Time Zone | |
DEBUG | Will activate debug option for container image and app (if available) |
These are the main tags for the image. There is also a tag for each commit and its shorthand sha256 value.
It is of my opinion that the :latest tag is dangerous. Many times, I’ve introduced breaking changes to my images. This would have messed up everything for some people. If you don’t want to change the tag to the latest semver, simply use the short versions of semver. Instead of using :0.107.68 you can use :0 or :0.107. Since on each new version these tags are updated to the latest version of the software, using them is identical to using :latest but at least fixed to a major or minor version.
If you still insist on having the bleeding edge release of this app, simply use the :rolling tag, but be warned! You will get the latest version of the app instantly, regardless of breaking changes or security issues or what so ever. You do this at your own risk!
docker pull 11notes/adguard:0.107.68 docker pull ghcr.io/11notes/adguard:0.107.68 docker pull quay.io/11notes/adguard:0.107.68
This image supports unraid by default. Simply add -unraid to any tag and the image will run as 99:100 instead of 1000:1000 causing no issues on unraid. Enjoy.
This image is not based on another image but uses scratch as the starting layer. The image consists of the following distroless layers that were added:
This image is provided to you at your own risk. Always make backups before updating an image to a different version. Check the releases for breaking changes. If you have any problems with using this image simply raise an issue, thanks. If you have a question or inputs please create a new discussion instead of an issue. You can find all my other repositories on github.
created 24.10.2025, 07:13:36 (CET)
免费版仅支持 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