应用简介
Watchtower 是一个用于 自动更新 Docker 容器 的开源工具。它能够检测运行中的 Docker 容器是否有新版本,并自动更新这些容器,从而提升容器的 安全性 和 稳定性。
功能特点
自动容器更新:定期检测容器镜像更新并自动升级。
定时检查:支持配置检查间隔,确保容器始终保持最新状态。
通知功能:支持邮件通知或其他方式,告知更新详情。
灵活排除:支持排除特定容器,使其不受自动更新的影响。
日志记录:记录所有更新操作的日志,便于查询历史。
多仓库支持:兼容 Docker Hub 及其他镜像仓库,可满足不同需求。
使用 Docker Compose 部署容器
在 UGOS Pro 系统上,推荐使用项目 Docker Compose 快速部署容器,适合需同时管理多个容器的场景,这种方法简化了容器的部署与管理工作。以下是使用 Docker Compose 部署 Watchtower 的详细步骤。
进入 Docker 项目界面
在 UGOS Pro 系统中,打开 Docker 应用,点击【项目】 > 【创建】,启动项目创建向导。
配置 Docker Compose 文件
在项目创建向导中,上传以下 Watchtower 的 Docker Compose 配置文件:
services:
watchtower:
container_name: watchtower
image: containrrr/watchtower:latest # 使用最新镜像
restart: always # 设置自动重启策略
volumes:
- '/var/run/docker.sock:/var/run/docker.sock'
- '/etc/localtime:/etc/localtime:ro'
environment:
- WATCHTOWER_CLEANUP=true # 更新后自动删除旧映像
- WATCHTOWER_ROLLING_RESTART=true # 容器启动模式
- WATCHTOWER_POLL_INTERVAL=86400 # 每 24 小时检查一次更新
- WATCHTOWER_NO_STARTUP_MESSAGE=true # 禁止在 Watchtower 启动时发送启动消息Docker Compose 配置说明
更多配置参数请参考 Watchtower 官方文档:Watchtower Arguments
部署项目
上传配置文件后,点击【立即部署】,系统会自动拉取镜像并启动容器。

禁用特定容器的自动更新
如果某些容器不需要更新,可以通过配置 labels 节点禁用 Watchtower 的更新监视功能。
示例说明:
1. 在目标容器(jellyfin)的 docker-compose.yaml 文件中添加 labels 节点。
2. 使用 com.centurylinklabs.watchtower.enable=false 标签来关闭 Watchtower 对该容器的更新监视。
services:
jellyfin:
container_name: jellyfin
image: jellyfin:8
。。。
# 添加标签内容,将禁用此容器的监视更新
labels:
- com.centurylinklabs.watchtower.enable=false查看容器更新
您可以在Watchtower容器的日志中查看更新信息。每当到达环境变量指定的时间,Watchtower就会开始检查并更新容器镜像。
进入Watchtower容器的日志页面,查看最近的更新记录和状态。

使用提示
请确保Watchtower的环境变量已正确配置,以便定时检查和更新容器镜像。
常见的环境变量包括WATCHTOWER_POLL_INTERVAL,用于设置检查更新的时间间隔。
注意事项
1. 本教程涉及的镜像由第三方开发维护,教程仅作参考,绿联不承担因操作不当、软件漏洞或镜像更新引发的风险,如文件异常、数据泄露等。请选用可信镜像,确保系统和数据安全。
2. 容器文件路径可自行设定,网页访问时,容器端口和本地端口需一致,不同容器的本地端口不能冲突。
3. 容器网页链接仅在 bridge 桥接模式下可访问。
4. 镜像仅提供搭建教程,具体使用和玩法可网上査询,配置变动和 bug 修复请关注官方信息。
5. 建议将 Docker 配置目录存于 SSD 硬盘,防止机械硬盘影响性能。