1、首先安装 Docker for Mac并启动它,等菜单栏有了鲸鱼图标,就可以打开终端下载 AdGuard 镜像包。
2、终端里运行docker pull adguard/adguardhome
将 AdGuard 最新的镜像先下载到本地。
3、下载完成后 Docker for Mac 的 Images 里就能看到具体的镜像文件,既可以在这里通过 RUN 的方式配置必要的参数(存储路径映射、端口等),也可以依旧在终端窗口中运行命令。
4、运行命令配置存储配置文件的路径和端口,这里 /Users/scomper/Documents/DNS/
是我打算存储 AdGuardHome配置文件的地方,新建了两个文件夹将 Docker 中的 AdGuardHome 配置映射出来,方便以后修改和操作。因为是在本机使用,所以其他端口都可以忽略。
docker run --name adguardhome \
-v /Users/scomper/Documents/DNS/work:/opt/adguardhome/work \
-v /Users/scomper/Documents/DNS/conf:/opt/adguardhome/conf \
-p 53:53/tcp -p 53:53/udp \
-p 80:80/tcp -p 3000:3000/tcp \
-d adguard/adguardhome
5、命令运行完成,在浏览器中就可以访问 http://127.0.0.1:3000 对 AdGuardHome 进行初始配置了。
添加 DNS 封锁清单的时候意外发现 anti-AD 已经被 AdGuard 内置,方便多了。
此时,Docker 的 Containers 里也能看到运行的容器了。
接下来修改一下系统网络配置里的 DNS
Surge 的 DNS 设置也改成「使用系统 DNS 服务器」,这样所有的 DNS 解析请求就到走 Docker 版的 AdGuardHome。
需要注意的是,重启 Docker 后记得要运行 AdGuardHome 容器,否则就没有 DNS 服务了。
PS:踩坑记录,① Use new virtualization framework 不要打开,打开后再次重启 docker 很可能会提示 53 端口占用,查询结果是mDNSRespo 进程占用端口。②镜像下载速度的问题可以添加阿里云的镜像加速 URL。
AdGuardHome 的具体配置可以参考另一篇文章的内容「部署在局域网里的 AdGuard Home」