312 字
2 分钟
Watchtower——容器自动更新工具
Watchtower——容器自动更新工具
安装
-
docker-cli
Terminal window docker run -d \--name watchtower \-v /var/run/docker.sock:/var/run/docker.sock \containrrr/watchtower -
docker-compose
version: "3"services:watchtower:containername: watchtowerimage: containrrr/watchtowervolumes:- /var/run/docker.sock:/var/run/docker.sock
参数解释
/var/run/docker.sock
:把docker的守护进程映射到容器内,使得容器拥有操作docker的权限
使用
-
默认会监控所有正在运行的容器
-
打开自动删除旧镜像选项:在命令后加上
--cleanup
或者-c
Terminal window docker run -d \--name watchtower \--restart unless-stopped \-v /var/run/docker.sock:/var/run/docker.sock \containrrr/watchtower \--cleanup或者
Terminal window docker run -d \--name watchtower \--restart unless-stopped \-v /var/run/docker.sock:/var/run/docker.sock \containrrr/watchtower -c -
指定要更新的容器:在命令后加上要更新的容器名,用空格分隔
Terminal window # 指定更新nginx和redis容器名称docker run -d \--name watchtower \--restart unless-stopped \-v /var/run/docker.sock:/var/run/docker.sock \containrrr/watchtower -c \nginx redis -
设置更新频率(默认五分钟)
- 使用
--interval
或者-i
,以秒为单位
Terminal window docker run -d \--name watchtower \--restart unless-stopped \-v /var/run/docker.sock:/var/run/docker.sock \containrrr/watchtower -c \--interval 3600- 使用
--schedule
或者-s
,格式为6字段Cron表达式:“秒 分 时 日 月 周”
Terminal window docker run -d \--name watchtower \--restart unless-stopped \-v /var/run/docker.sock:/var/run/docker.sock \containrrr/watchtower -c \--schedule "0 0 2 * * *" - 使用
-
手动更新一次
Terminal window docker run --rm \-v /var/run/docker.sock:/var/run/docker.sock \containrrr/watchtower -c \--run-once \aria2-pro或者
Terminal window docker run --rm \-v /var/run/docker.sock:/var/run/docker.sock \containrrr/watchtower -cR \aria2-pro
Watchtower——容器自动更新工具
https://blog.160621.xyz/posts/watchtower-容器自动更新工具/