官网:https://containrrr.dev/watchtower
基本运行:(默认5分钟)
docker run -d
--name=watchtower
-v /var/run/docker.sock:/var/run/docker.sock
containrrr/watchtower
更新指定容器:(容器名)
docker run -d --name watchtower
-v /var/run/docker.sock:/var/run/docker.sock
containrrr/watchtower
container1 container2
设定指定容器不更新:添加label com.centurylinklabs.watchtower.enable=false
到指定容器后运行即可被自动忽略更新。
设定指定容器更新:运行Watchtower时添加参数--label-enable
:
docker run -d --name=watchtower
-v /var/run/docker.sock:/var/run/docker.sock
--restart=always
containrrr/watchtower --label-enable --cleanup
并将需要更新的容器添加label com.centurylinklabs.watchtower.enable=true
即可。
自动删除旧的镜像:添加参数 —cleanup
即可。
docker run -d --name=watchtower
-v /var/run/docker.sock:/var/run/docker.sock
--restart=always
containrrr/watchtower --cleanup
设置更新频率:
e.g. 每7200秒更新一次(-i):
docker run -d \
--name watchtower \
--restart always \
-v /var/run/docker.sock:/var/run/docker.sock \
containrrr/watchtower \
--cleanup \
-i 7200
e.g. 每天3AM更新一次(-s Cron表达式):
docker run -d \
--name watchtower \
--restart always \
-e TZ=Asia/Shanghai \
-v /var/run/docker.sock:/var/run/docker.sock \
containrrr/watchtower \
--cleanup \
-s "0 0 3 * * *"
只更新一次(手动更新):(-rm –run-once)
docker run --rm \
-v /var/run/docker.sock:/var/run/docker.sock \
containrrr/watchtower \
--cleanup \
--run-once
参考文章: