我在宝塔面板容器里部署了openlist和freshrss两个应用,平时想起来就手动在“容器编排”逐个点击“更新镜像”来更新容器,有点麻烦,一直没有找到自动更新容器的方法。
刚刚在浏览知乎时刷到一篇名为《7个最能提高生产力的docker容器》的文章,第一个就是Watchtower,它是一个自动化更新容器的开源工具,本身也可以部署成容器运行。
在宝塔面板容器部署Watchtower的方法如下∶
打开宝塔面板,选择docker里的容器编排,点击添加容器编排,编排名称自己可以随便起个名字,compose内容填写如下代码,点击确定就部署完毕了。
services:
watchtower:
image: ghcr.io/nicholas-fedor/watchtower:latest
container_name: watchtower
restart: unless-stopped
volumes:
- /var/run/docker.sock:/var/run/docker.sock
environment:
- TZ=Asia/Shanghai
# 设置检查间隔时间(单位:秒),例如 86400 为每 24 小时检查一次;默认是每几分钟检查一次
- WATCHTOWER_POLL_INTERVAL=86400
# 如果需要自动清理旧镜像,可以开启下面这行
- WATCHTOWER_CLEANUP=true
以后docker里的三个容器Watchtower、openlist、freshrss都会自动更新,方便多了。