返回教程列表
飞牛NAS部署Watchtower实现Docker容器自动更新保持最新版本
2026-06-27
一、Watchtower是什么
Watchtower是一个轻量级Docker工具,它会定时检查你NAS上所有容器的镜像是否有新版本,有就自动拉取新镜像,然后自动重建容器。全程不需要手动操作。
二、部署Watchtower
在飞牛NAS的Docker管理器中创建容器:
镜像:containrrr/watchtower:latest
容器名:watchtower
高级设置:
1. 挂载 /var/run/docker.sock 到容器内的 /var/run/docker.sock(必须,否则Watchtower无法管理Docker)
2. 添加环境变量:
- TZ=Asia/Shanghai(设置时区)
- WATCHTOWER_CLEANUP=true(更新后自动删除旧镜像,省硬盘空间)
- WATCHTOWER_SCHEDULE=0 0 3 * * *(每天凌晨3点检查更新,用cron表达式)
3. 网络选 bridge 即可
三、参数说明
如果你不想所有容器都自动更新,可以加环境变量:
- WATCHTOWER_INCLUDE_RESTARTING=true(也监控正在重启的容器)
- WATCHTOWER_MONITOR_ONLY=false(设为true就是只检查不更新,手动确认再更新)
用cron表达式控制检查频率:
- 0 0 3 * * * → 每天凌晨3点(最推荐,不影响白天使用)
- 0 0 * * 0 → 每周日凌晨
- 0 0 */6 * * → 每6小时检查一次
四、排除不需要自动更新的容器
有些容器你不想让它自动更新,比如数据库、你手动改过配置的容器。在容器启动时加一个标签:
在创建需要排除的容器时,添加标签:
标签名:com.centurylinklabs.watchtower.enable
标签值:false
加了这个标签的容器,Watchtower会自动跳过。
五、日志查看
部署完成后,进入Watchtower容器的日志,会看到类似这样的信息:
- 2026-06-27 03:00:01 : Checking all containers
- 2026-06-27 03:00:05 : Found new image for xxxxx
- 2026-06-27 03:00:10 : Stopping xxxxx (3 seconds)
- 2026-06-27 03:00:15 : Starting xxxxx
六、注意事项
1. 首次部署Watchtower后,建议先观察几天的日志,确认它正常工作。
2. 个别容器更新后可能因为版本变化配置不兼容,遇到这种情况可以手动回滚镜像版本。
3. 对稳定性要求高的容器(比如数据库、密码管理器)建议加上排除标签。
4. Watchtower本身也会自动更新,它会把自己也更新了。
部署完Watchtower之后,你就再也不用操心Docker容器版本更新的事了,每天早上醒来所有容器都是最新版,省心得很。
返回教程列表