基础运行模式
docker run -d \
--name watchtower \
--restart unless-stopped \
-v /var/run/docker.sock:/var/run/docker.sock \
containrrr/watchtower
指定容器更新
docker run -d \
--name watchtower \
--restart unless-stopped \
-v /var/run/docker.sock:/var/run/docker.sock \
containrrr/watchtower \
lobe-chat nginx
按更新列表指定(维护灵活)
docker run -d \
--name watchtower \
--restart unless-stopped \
-v /var/run/docker.sock:/var/run/docker.sock \
containrrr/watchtower \
$(cat ~/.docker_update.list)
注:也可使用容器更新标签进行容器标注的方法,此法麻烦且不灵活,知道就可以--label com.centurylinklabs.watchtower.enable=true
清除旧容器参数
docker run -d \
--name watchtower \
--restart unless-stopped \
-v /var/run/docker.sock:/var/run/docker.sock \
containrrr/watchtower -c \
$(cat ~/.docker_update.list)
更新频率参数
docker run -d \
--name watchtower \
--restart unless-stopped \
-v /var/run/docker.sock:/var/run/docker.sock \
containrrr/watchtower -c \
$(cat ~/.docker_update.list) \
--interval 3600
定时更新参数
docker run -d \
--name watchtower \
--restart unless-stopped \
-v /var/run/docker.sock:/var/run/docker.sock \
containrrr/watchtower -c \
$(cat ~/.docker_update.list) \
--schedule "0 40 3 * * *"
注:6字段的表达式,不是传统的5字段,顺序是:秒、分、时、日、月、周
手动一次性运行
docker run --rm \
-v /var/run/docker.sock:/var/run/docker.sock \
containrrr/watchtower -c \
--run-once \
$(cat ~/.docker_update.list)
注:--run-once
参数也可简写成 -R
和 -c
合并为 -cR
最后总结:
我只是给出了一些常用的方法和参数,Watchtower 还有其他功能和使用形式,包括:
- 电子邮件通知
- 监视私人注册表的镜像
- 管理远程主机的容器
对于一般的朋友可能很少用到,大家可以到 官方文档 查看更多内容,或者使用以下命令临时查看参数帮助:
docker run --rm containrrr/watchtower -h