利用 Docker 搭建 AdGuard Home

AdGuard Home 是一款广告拦截和追踪工具。将它作为 DNS 服务器运行,并根据需求配置自定义规则后,可将特定域名(如:广告、弹窗、影片、文字、横幅、跟踪、恶意或钓鱼网站等)重新路由到“黑洞”,从而阻止您的设备连接到这些服务器,且无需在设备上安装任何客户端软件。 下面介绍用 Docker Compose 方式在 VPS 上搭建及设置 AdGuard Home : 新建 AdGuard Home 目录 mkdir adguardhome cd adguardhome mkdir work conf 创建 docker-compose.yml 文件 services: adguardhome: image: adguard/adguardhome container_name: adguardhome restart: unless-stopped ports: - "53:53/tcp" - "53:53/udp" - "3000:3000/tcp" volumes: - ./work:/opt/adguardhome/work - ./conf:/opt/adguardhome/conf environment: TZ: Asia/Shanghai 启动 adguardhome 容器 docker compose up -d 此时在浏览器输入 VPS 的 IP 地址 + 端口(以上配置文件端口为 3000 )即可进入 AdGuard Home 主页 ...

September 1, 2025

使用 Watchtower 自动更新 Docker 容器

Watchtower 是一款开源工具,专为 Docker 平台设计。它可以监控正在运行中的 Docker 容器,并监视这些容器是否有新版本可用。如果 Watchtower 检测到镜像发布了新版本,它将自动拉取新镜像并使用相同的选项重启容器。从而简化了容器维护的流程,减少手动干预。 使用 Docker Compose 部署 Watchtower 是推荐且灵活的方式,它能更好的管理容器配置。 Docker Compose 部署 Watchtower 操作步骤 创建 Docker Compose 文件 mkdir docker-compose.yml 编辑 docker-compose.yml 文件 services: watchtower: image: containrrr/watchtower # 指定Watchtower镜像版本 container_name: watchtower # 定义容器名称 volumes: - /var/run/docker.sock:/var/run/docker.sock # 挂载Docker Socket,使Watchtower能与Docker守护进程通信 environment: - 'TZ=Asia/Shanghai' # 设置时区,例如:Asia/Shanghai - 'WATCHTOWER_POLL_INTERVAL=86400' # 设置轮询间隔,单位秒。默认为86400秒(24小时) - 'WATCHTOWER_CLEANUP=true' # 更新后自动删除旧镜像,可选 - 'WATCHTOWER_NOTIFICATIONS=email' # 配置通知方式,例如:email, slack, discord等 - 'WATCHTOWER_NOTIFICATION_EMAIL_FROM=sender@example.com' # 设置发送电子邮件地址 - 'WATCHTOWER_NOTIFICATION_EMAIL_TO=recipient@example.com' # 设置接收电子邮件地址 - 'WATCHTOWER_NOTIFICATION_EMAIL_SERVER=smtp.example.com' # 设置发送电子邮件服务器 - 'WATCHTOWER_NOTIFICATION_EMAIL_SERVER_PORT=587' # 设置发送电子邮件服务器端口 - 'WATCHTOWER_NOTIFICATION_EMAIL_SERVER_USER=user' # 设置邮件服务器用户名 - 'WATCHTOWER_NOTIFICATION_EMAIL_SERVER_PASSWORD=password' # 设置邮件服务器密码 restart: unless-stopped # 设置容器重启策略,除非手动停止,否则自动重启 command: --schedule "0 0 3 * * ?" --cleanup nginx hysteria # 定时任务:每天凌晨3点执行更新并删除旧镜像 更多配置选项: ...

August 29, 2025

Nginx、Hysteria 的 Docker 部署实践

Docker 部署 Nginx 安装 Docker Engine 设置 Docker 的 apt存储库 # Add Docker's official GPG key: sudo apt-get update sudo apt-get install ca-certificates curl sudo install -m 0755 -d /etc/apt/keyrings sudo curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc sudo chmod a+r /etc/apt/keyrings/docker.asc # Add the repository to Apt sources: echo \ "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian \ $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \ sudo tee /etc/apt/sources.list.d/docker.list > /dev/null sudo apt-get update 安装 Docker 包 sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin 运行一个测试镜像验证安装是否成功 sudo docker run hello-world docker-compose 方式部署 Nginx 新建一个目录存放 docker-compose 、 nginx.conf 文件和 conf.d 文件夹 在新建的目录中创建一个名为" docker-compose.yml “的文件,内容如下: services: nginx: image: nginx:stable-alpine-perl container_name: nginx ports: - "80:80" - "443:443" volumes: - ./nginx.conf:/etc/nginx/nginx.conf:ro # nginx.conf文件路径根据实际调整 - ./conf.d:/home/sixdian/nginx/conf.d:ro # conf.d 目录路径根据实际调整 - /home/sixdian/site/sixdian.com/public:/home/sixdian/site/sixdian.com/public:ro # 网站根目录路径根据实际调整 - /home/sixdian/ssl:/home/sixdian/ssl:ro # ssl 证书目录路径根据实际调整 - /etc/dhparam:/etc/dhparam:ro environment: TZ: Asia/Shanghai restart: always 在 docker-compose.yml 文件所在目录中执行以下命令启动服务: docker compose up -d Docker 部署 Hysteria docker-compose 方式部署 Hysteria 新建一个目录存放 docker-compose.yml 文件和 hysteria.yaml 配置文件 在新建的目录中创建一个名为” docker-compose.yml “的文件,内容如下: services: hysteria: image: tobyxdd/hysteria container_name: hysteria restart: always network_mode: "host" volumes: - ./hysteria.yaml:/etc/hysteria.yaml:ro # hysteria.yaml 文件路径根据实际调整 - /home/sixdian/ssl:/home/sixdian/ssl:ro # ssl 证书目录路径根据实际调整 environment: TZ: Asia/Shanghai command: ["server", "-c", "/etc/hysteria.yaml"] 在 docker-compose.yml 文件所在目录中执行以下命令启动服务: docker compose up -d

August 28, 2025

利用 Docker 容器安装 Haproxy

Docker 是一个开源软件平台。与虚拟机类似,准确的说是在操作系统层虚拟化,让软件成为标准化的单元。它可以使几乎任何软件部署到跨平台的操作系统上。 Haproxy 是用 C 语言编写的开源 TCP/HTTP 代理、负载均衡应用程序。 下面就介绍我在 Rocky Linux 平台下用 Docker 部署 Haproxy 实现代理后端网站的案例 设置存储库 sudo yum install -y yum-utils sudo yum-config-manager \ --add-repo \ https://download.docker.com/linux/centos/docker-ce.repo 安装 Docker 引擎 sudo yum install docker-ce docker-ce-cli containerd.io 启动 Docker 并设置开机启动 sudo systemctl start docker sudo systemctl enable docker 拉取 Haproxy 容器镜像并启动容器 docker run -d --name haproxy -v /etc/haproxy/haproxy.cfg:/usr/local/etc/haproxy/haproxy.cfg:ro -p 80:80 -p 443:443 -p 8500:8500 --restart always haproxy:2.3.19-alpine3.15

April 22, 2022