使用 Watchtower 自动更新 Docker 容器
Watchtower 是一款自由开源的应用,用来监控运行中的 Docker 容器,并且当它发现基础镜像被更改后,可以自动的更新容器。若 Watchtower 发现一个运行中的容器需要更新,它会以发送 SIGTERM 信号的方式,优雅的结束运行中容器的运行,并会自动下载新镜像,然后以最初部署时使用的方式,重启容器。
一、拉取镜像
docker pull containrrr/watchtower
二、常用命令
1. 手动更新指定容器,更新完成后删除自己(推荐)
# 使用手动更新的方式,运行一次Watchtower容器来更新所需的容器,更新后会自动删除本次运行的Watchtower容器
docker run --rm \
-v /var/run/docker.sock:/var/run/docker.sock \
containrrr/watchtower \
--cleanup --run-once \
nginx redis
2. 监测所有容器,通常很少会这样使用(建议谨慎操作)
# 每 5 分钟一次检查所有容器的镜像是否为最新版,如发现镜像更新将会自动停止容器,删除容器,拉取最新镜像,在以之前启动容器的命令启动容器。
docker run -d \
--name=watchtower \
--restart=unless-stopped \
-v /var/run/docker.sock:/var/run/docker.sock \
containrrr/watchtower \
--cleanup
3. 监测指定的某些容器
# 示例:仅监听 nginx、redis 两个容器。
docker run -d \
--name=watchtower \
--restart=unless-stopped \
-v /var/run/docker.sock:/var/run/docker.sock \
containrrr/watchtower \
--cleanup \
nginx redis
THE END
二维码
打赏
文章目录
关闭
共有 0 条评论