使用docker-compose 部署Watchtower 自动更新 Docker 容器

Watchtower 支持以下功能：

自动拉取镜像并更新容器。

配置邮件通知。

定时执行容器更新任务

1、新建文件夹

先在任意位置创建一个 watchtower 文件夹 (名称随意），用于存放 docker-compose.yaml 文件，只要放入一个 YAML 文件就行了！

创建一个 docker-compose.yaml 文件

Copy
vim docker-compose.yaml

带邮箱通知版本

邮件通知配置注意看注释

Copy
version: '3' # docker-compose 版本 可以注释

services:
watchtower:
image: containrrr/watchtower:latest
container_name: watchtower
environment:
- TZ=Asia/Shanghai # 时区
- WATCHTOWER_NOTIFICATIONS=email # 启用邮件通知
- WATCHTOWER_NOTIFICATION_EMAIL_FROM=xxxx@qq.com # 发件人邮箱
- WATCHTOWER_NOTIFICATION_EMAIL_TO=xxxx@qq.com # 收件人邮箱
- WATCHTOWER_NOTIFICATION_EMAIL_SERVER=smtp.qq.com # 邮件服务器地址
- WATCHTOWER_NOTIFICATION_EMAIL_SERVER_PORT=587 # 邮件服务器端口
- WATCHTOWER_NOTIFICATION_EMAIL_SERVER_USER=xxxx@qq.com # 邮箱
- WATCHTOWER_NOTIFICATION_EMAIL_SERVER_PASSWORD=atzzz.com # 邮件服务器密码
- WATCHTOWER_NOTIFICATION_EMAIL_DELAY=30 # 邮件通知延迟，单位：秒
volumes:
- /var/run/docker.sock:/var/run/docker.sock # 访问 Docker 守护进程
restart: unless-stopped # 自动重启容器
command: --schedule "23 5 * * *" --cleanup # 每天凌晨 3 点执行更新，删除旧镜像，并发送通知

不带邮件通知版本

Copy
version: '3' # docker-compose 版本 可以注释

services:
watchtower:
image: containrrr/watchtower:latest
container_name: watchtower
environment:
- TZ=Asia/Shanghai # 时区
volumes:
- /var/run/docker.sock:/var/run/docker.sock # 访问 Docker 守护进程
restart: unless-stopped # 自动重启容器
command: --schedule "23 5 * * *" --cleanup # 每天凌晨 3 点执行更新，删除旧镜像

启动镜像

Copy
docker-compose up -d

视频教程 Youtube

更多配置文件，可以看官方文档