返回教程列表

飞牛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容器版本更新的事了,每天早上醒来所有容器都是最新版,省心得很。

返回教程列表