翼度科技»论坛 云主机 LINUX 查看内容

[ Docker ] 使用 Watchtower 自动更新容器

7

主题

7

帖子

21

积分

新手上路

Rank: 1

积分
21
https://www.cnblogs.com/yeungchie/
Watchtower 是一个用于自动更新 Docker 容器的工具。它可以监视 Docker Hub 或私有仓库中的镜像,并在发现新的镜像版本时自动更新容器。
下载镜像
  1. docker pull containrrr/watchtower
复制代码
启动容器
  1. docker run -d \
  2.     --name watchtower \
  3.     -v /var/run/docker.sock:/var/run/docker.sock \
  4.     containrrr/watchtower
复制代码
需要将本机的 /var/run/docker.sock 映射到容器内部。
指定需要监视的容器

默认情况下 Watchtower 会监视所有容器,现在我直线让它帮我自动更新 jellyfin1 怎么做?
  1. docker run -d \
  2.     --name watchtower \
  3.     -v /var/run/docker.sock:/var/run/docker.sock \
  4.     containrrr/watchtower \    jellyfin1
复制代码
只需要跟上容器名就可以指定被监视的容器了。
指定更新频率

Watchtower 默认情况下 24 小时会检查一次镜像更新。
官网说是 24 小时,ChatGPT 说是 5 分钟,不管了 。。。
--interval
  1. docker run -d \
  2.     --name watchtower \
  3.     -v /var/run/docker.sock:/var/run/docker.sock \
  4.     containrrr/watchtower \    --interval 5
复制代码
每 5 秒检查一次。
--schedule

使用 --schedule 可以指定一个 Cron 表达式,不过需要注意的是这里用的是 6 fields 表达式,有别于传统的 5 fields 表达式第一位用来指定秒单位。
  1. docker run -d \
  2.     --name watchtower \
  3.     -v /var/run/docker.sock:/var/run/docker.sock \
  4.     containrrr/watchtower \    --schedule "0 0 10 * * 6"
复制代码
每周六早上 10 点检查一次。
上面的两方式不能同时使用。
清理无用文件

容器在更新后会产生一些无用的版本,用下面的方式即可清理。
  1. docker volume prune
复制代码
更多 Watchtower 相关资料可以查看 https://containrrr.github.io/watchtower.

来源:https://www.cnblogs.com/yeungchie/p/17232271.html
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!

举报 回复 使用道具