watchtower-一个用于自动更新Docker容器镜像的实用工具
简介
watchtower是一个用于自动更新Docker容器镜像的实用工具,它能够自动监控指定容器的更新,能够自动拉取最新镜像并实现平滑部署。
github地址:https://github.com/containrrr/watchtower
官网:https://containrrr.dev/watchtower/
启动
服务器执行标准启动命令,watchtower会以每5分钟检查docker所有容器是否已达到最新版本,如不是,则拉取最新镜像,停止运行容器,以最初的启动命令重新启动容器
shell
1 | docker run -d \ |
可通过--cleanup
删除旧版本镜像
shell
1 | docker run -d \ |
指定容器更新
可在标准启动命令后加上指定容器名,便可指定容器更新
shell
1 | docker run -d \ |
容器名指的是启动容器时设置--name
参数的名称,比如我的alist启动命令:
shell
1 | docker run -itd \ |
则alist容器名为alist,更新alist时我只需要运行
shell
1 | docker run -d \ |
自动更新频率
可通过--interval
(简写-i
)参数, 配置更新周期,默认300秒
或者--schedule
,(简写-s
) 配置定时更新,使用Cron表达式
,例如"0 0 1 * * *"
.即每天凌晨1点更新
配置了自动更新频率需要确定时区为Asia
shell
1 | docker run -d \ |
手动更新
可以通过--run-once
实现运行watchtower容器更新后停止运行,即运行一次
还可添加--rm
删除watchtower镜像。
shell
1 | docker run --rm -d \ |
总结
虽然可以通过停止容器,拉取镜像,重新运行容器这三步操作来实现watchtower的功能,但是它能够简化命令,减少重新部署容器的运行参数错误,定时更新等等,是一个高效率的更新容器方式。
参考文章
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 枫叶!
评论