adguard/adguardhome Docker 镜像 - 轩辕镜像
adguard/adguardhomeAdGuard Home - Docker
Privacy protection center for you and your devices
Free and open source, powerful network-wide ads & trackers blocking DNS server.
- Introduction
- Quick Start
- Update To A Newer Version
- Running Dev Builds
- Additional Configuration
- DHCP Server
resolved
Introduction
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. Learn more on our official Github repository.
Quick Start
Pull the Docker image
This command will pull the latest stable version:
shdocker pull adguard/adguardhome
Create directories for persistent configuration and data
The image exposes two volumes for data and configuration persistence. You
should create a data directory on a suitable volume on your host system,
e.g. /my/own/workdir, and a configuration directory on a suitable volume
on your host system, e.g. /my/own/confdir.
Create and run the container
Use the following command to create a new container and run AdGuard Home:
shdocker run --name adguardhome\ --restart unless-stopped\ -v /my/own/workdir:/opt/adguardhome/work\ -v /my/own/confdir:/opt/adguardhome/conf\ -p 53:53/tcp -p 53:53/udp\ -p 67:67/udp -p 68:68/udp\ -p 80:80/tcp -p 443:443/tcp -p 443:443/udp -p 3000:3000/tcp\ -p 853:853/tcp\ -p 784:784/udp -p 853:853/udp -p 8853:8853/udp\ -p 5443:5443/tcp -p 5443:5443/udp\ -d adguard/adguardhome
Now you can open the browser and navigate to [***] to control your AdGuard Home service.
Don't forget to use your own data and config directories!
Ports mappings you may need:
-
-p 53:53/tcp -p 53:53/udp: plain DNS. -
-p 67:67/udp -p 68:68/tcp -p 68:68/udp: add if you intend to use AdGuard Home as a DHCP server. -
-p 80:80/tcp -p 443:443/tcp -p 443:443/udp -p 3000:3000/tcp: add if you are going to use AdGuard Home's admin panel as well as run AdGuard Home as an HTTPS/DNS-over-HTTPS server. -
-p 853:853/tcp: add if you are going to run AdGuard Home as a DNS-over-TLS server. -
-p 784:784/udp -p 853:853/udp -p 8853:8853/udp: add if you are going to run AdGuard Home as a DNS-over-QUIC server. You may only leave one or two of these. -
-p 5443:5443/tcp -p 5443:5443/udp: add if you are going to run AdGuard Home as a DNSCrypt server.
Control the container
-
Start:
docker start adguardhome -
Stop:
docker stop adguardhome -
Remove:
docker rm adguardhome
Update To A Newer Version
-
Pull the new version from Docker Hub:
shdocker pull adguard/adguardhome -
Stop and remove currently running container (assuming the container is named
adguardhome):shdocker stop adguardhome docker rm adguardhome -
Create and start the container using the new image using the command from the previous section.
Running Dev Builds
If you want to be on the bleeding edge, you might want to run the image from the
edge or beta tags. In order to use it, simply replace adguard/adguardhome
with adguard/adguardhome:edge or adguard/adguardhome:beta in every command
from the quick start. For example:
shdocker pull adguard/adguardhome:edge
Additional Configuration
Upon the first run, a file named AdGuardHome.yaml will be created, with
default values written into it. You can modify the file while your AdGuard Home
container is not running. Otherwise, any changes to the file will be lost
because the running program will overwrite them.
Settings are stored in YAML, possible parameters that you can configure are listed on this page.
DHCP Server
If you want to use AdGuardHome's DHCP server, you should pass --network host
argument when creating the container:
shdocker run --name adguardhome --network host ...
This option instructs Docker to use the host's network rather than
a docker-bridged network. Note that port mapping with -p is not necessary in
this case.
A note from the Docker documentation:
The host networking driver only works on Linux hosts, and is not supported on Docker Desktop for Mac, Docker Desktop for Windows, or Docker EE for Windows Server.
resolved
If you try to run AdGuardHome on a system where the resolved daemon is
started, docker will fail to bind on port 53, because resolved daemon is
listening on 127.0.0.53:53. Here's how you can disable DNSStubListener on
your machine:
-
Deactivate
DNSStubListenerand update the DNS server address. Create a new file,/etc/systemd/resolved.conf.d/adguardhome.conf(creating the/etc/systemd/resolved.conf.ddirectory if needed) and add the following content to it:none[Resolve] DNS=127.0.0.1 DNSStubListener=noSpecifying
127.0.0.1as the DNS server address is necessary because otherwise the nameserver will be127.0.0.53which doesn't work withoutDNSStubListener. -
Activate a new
resolv.conffile:shmv /etc/resolv.conf /etc/resolv.conf.backup ln -s /run/systemd/resolve/resolv.conf /etc/resolv.conf -
Stop
DNSStubListener:shsystemctl reload-or-restart systemd-resolved
轩辕镜像配置手册
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
登录仓库拉取
通过 Docker 登录认证访问私有仓库
Linux
在 Linux 系统配置镜像服务
Windows/Mac
在 Docker Desktop 配置镜像
Docker Compose
Docker Compose 项目配置
K8s Containerd
Kubernetes 集群配置 Containerd
K3s
K3s 轻量级 Kubernetes 镜像加速
Dev Containers
VS Code Dev Containers 配置
MacOS OrbStack
MacOS OrbStack 容器配置
宝塔面板
在宝塔面板一键配置镜像
群晖
Synology 群晖 NAS 配置
飞牛
飞牛 fnOS 系统配置镜像
极空间
极空间 NAS 系统配置服务
爱快路由
爱快 iKuai 路由系统配置
绿联
绿联 NAS 系统配置镜像
威联通
QNAP 威联通 NAS 配置
Podman
Podman 容器引擎配置
Singularity/Apptainer
HPC 科学计算容器配置
其他仓库配置
ghcr、Quay、nvcr 等镜像仓库
专属域名拉取
无需登录使用专属域名
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
镜像拉取常见问题
免费版仅支持 Docker Hub 访问,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等;免费版仅支持 docker.io。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
用户好评
来自真实用户的反馈,见证轩辕镜像的优质服务