快速启动的标准命令
这种模式下,默认每5分钟自动检测一次镜像文件是否有发布更新。修改检测频率看下文。
docker run -d \
--name watchtower \
-v /var/run/docker.sock:/var/run/docker.sock \
containrrr/watchtower
指定容器更新
以更新nextcloud和mysql容器为例,可以一行写,容器名之间加空格。
docker run -d \
--name watchtower \
--restart always \
-v /var/run/docker.sock:/var/run/docker.sock \
containrrr/watchtower \
--cleanup \
nextcloud \
mysql \
在启动参数的最后面增加容器名,可以使用docker ps 确定下
清理旧镜像
镜像在更新后旧镜像标签会变为none,长期自动更新会导致过多的none镜像占用空间,加入--cleanup参数可以在每次更新后自动删除none镜像.
docker run -d \
--name watchtower \
--restart always \
-v /var/run/docker.sock:/var/run/docker.sock \
containrrr/watchtower \
--cleanup
配置自动更新频率
Watchtower 默认每 5 分钟执行一次,可以手动指定参数,调整运行时间。建议使用-s,使用cron表达式。如:"0 0 3 * * * " 即每天凌晨3点更新
注意事项
- -V参数似乎只能按照固定的模式启动,手动指定其他目录会导致出错
- 当使用 -s 参数来配置定时更新时,由于容器内默认为 UTC 时间,上述设置的 凌晨1点 实际上是北京时间 早上9点 .可以通过加上 -e TZ=Asia/Shanghai 环境变量来定义时区,此时配置的时间则为北京时间.