应用介绍
Watchtower 是一款专门用于自动更新Docker容器的开源工具,对于NAS用户来说非常实用,它可以自动监控你运行的Docker容器,当检测到镜像有新版本更新时,会自动拉取最新镜像并重启容器,让你的NAS应用始终保持最新版本,不需要手动更新。
Watchtower 支持监控全部容器或者指定特定容器,支持私有镜像仓库认证,支持通知推送,当更新完成或者发生错误时可以通知你,同时它自身也支持自动更新,全程零维护,非常适合家庭NAS用户使用。
安装说明
前提依赖
只需要你的NAS支持Docker,不需要其他额外依赖,Watchtower本身运行在Docker容器中,通过挂载Docker套接字与Docker守护进程通信来管理其他容器。
安装配置
以下是常用的 Docker Compose 配置:
version: '3'
services:
watchtower:
image: containrrr/watchtower:latest
container_name: watchtower
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- /root/.docker/config.json:/config.json
environment:
- TZ=Asia/Shanghai
- WATCHTOWER_POLL_INTERVAL=86400 # 轮询间隔,默认24小时检查一次更新
restart: unless-stopped
说明:
/var/run/docker.sock必须挂载,这是Docker守护进程的套接字,Watchtower通过它和Docker交互- 如果使用私有镜像仓库,需要挂载
/root/.docker/config.json来读取认证信息 WATCHTOWER_POLL_INTERVAL设置检查更新的间隔,单位是秒,86400秒就是每天检查一次- 如果只需要监控特定容器,可以在命令后面加上容器名称,比如
container1 container2
使用说明
- 启动容器后,Watchtower会自动按照设定的间隔时间检查所有运行中的容器镜像更新
- 如果发现有新版本镜像,会自动停止旧容器,拉取新镜像,然后使用原来的配置启动新容器,整个过程自动完成,不需要人工干预
- 可以通过配置环境变量开启通知功能,支持邮件、Slack、Telegram等多种通知方式,更新完成后会通知你
- 如果想要手动触发一次更新检查,可以执行
docker run --rm containrrr/watchtower -c来手动触发
开源信息
- GitHub仓库:https://github.com/containrrr/watchtower
- 官方文档:https://containrrr.dev/watchtower/
- 开源协议:MIT License