Skip to content

家庭域名服务器 | Docker系列

前言

本文介绍使用AdGuardHomeUbuntu系统上搭建DNS服务器,请先根据本章前言完成环境的搭建。

相关网站:

拉取镜像

shell
docker pull adguard/adguardhome:latest

开放端口

端口类型端口端口用途
UDP53DNS查询
TCP53DNS查询
TCP80管理界面
TCP443管理界面
TCP3000初始化服务器

配置文件

shell
# 创建并进入工作目录
mkdir -p /srv/adguardhome && cd /srv/adguardhome

# 创建并编辑docker配置文件
nano docker-compose.yml

docker-compose.yml

yml
services:
  adguardhome:
    image: adguard/adguardhome:latest
    container_name: adguardhome
    restart: always
    volumes:
      - ./work:/opt/adguardhome/work
      - ./conf:/opt/adguardhome/conf
    ports:
      - "53:53/tcp"
      - "53:53/udp"
      - "80:80/tcp"
      - "443:443/tcp"
      - "3000:3000/tcp"

配置系统

Ubuntu系统的DNSStubListener占用53端口,导致Adguard Home无法启动,需要关闭DNSStubListener

shell
# 查看53端口占用情况
lsof -i :53

# 编辑配置文件
nano /etc/systemd/resolved.conf

# 重启systemd-resolved
systemctl restart systemd-resolved

# 验证53端口占用情况
lsof -i :53

resolved.conf

txt
#这里改为no,并删去井号
DNSStubListener=no

开始运行

shell
# 前往工作目录
cd /srv/adguardhome

# 开始运行
docker compose up -d

# 若显示以下内容,则运行成功
# Creating adguardhome ... done
  1. 在浏览器访问:http://服务器ip地址:3000,进入初始化服务器页面
  2. 设置服务器用户名与密码,其余保持默认
  3. 添加服务器ip地址为客户端的DNS服务器

维护服务

shell
# 停止服务
cd /srv/adguardhome
docker compose down

# 更新服务
cd /srv/adguardhome
docker compose down
docker compose pull
docker compose up

# 压缩数据文件夹
cd /srv/adguardhome
tar -czf work.tar.gz work/
tar -czf conf.tar.gz conf/

# 解压缩数据文件夹
cd /srv/adguardhome
tar -xzf work.tar.gz work/
tar -xzf conf.tar.gz conf/