如果你在自托管环境中使用Docker,很可能遇到过这样的烦恼:容器使用的镜像频繁更新,想使用新功能就需要手动更新镜像,还要重新配置一大堆docker相关环境。
自动化管理升级镜像的神器Watchtower,可以让你的Docker容器保持最新状态,完全自动化。
但Watchtower的原始镜像 continrrr/watchtower 已经两年多没有维护了,最近随着Docker的更新,这个旧版工具开始报错:“Error response from daemon: client version 1.25 is too old”。
幸运的是,开源社区总有热心人接力。nickfedor/watchtower 接过了这个项目,持续维护并修复了兼容性问题,成为了更可靠的选择。
一键配置,自动更新+清理
配置新的Watchtower非常简单,它不仅能自动检查并更新你的所有容器,还能自动清理旧镜像,避免硬盘空间被慢慢占满。
使用Docker Compose进行配置:
version: "3" services: watchtower: image: nickfedor/watchtower container_name: watchtower restart: always volumes: - /var/run/docker.sock:/var/run/docker.sock environment: - WATCHTOWER_CLEANUP=true # 可选:设置检查频率(秒),默认86400秒(24小时) - WATCHTOWER_POLL_INTERVAL=21600
将上面的内容保存为 docker-compose.yml,然后在同一目录下执行 docker compose up -d 即可。
小提示
WATCHTOWER_CLEANUP=true 参数非常重要,它能自动移除更新后产生的旧镜像,避免磁盘空间浪费
你可以通过 WATCHTOWER_POLL_INTERVAL 参数自定义检查更新的频率,比如设置为21600秒就是每6小时检查一次
Watchtower默认会监控所有运行中的容器,你也可以指定只监控特定容器
总结
通过这个简单的替换,轻松解决了旧版Watchtower的兼容性问题,让你的自托管服务始终保持在最新、最安全的状态。
自动化运维不仅能节省时间,更能减少因忘记更新而导致的安全风险。试试新版Watchtower,让你的Docker管理变得更轻松吧!
- 本文固定链接: https://www.fengshen.cn/2026/01/不再过期:新watchtower可用/
- 转载请注明: fengshen 发表于 一梦风神
