通过 Watchtower 实现 Docker 容器自动更新

工具介绍

Watchtower 是一个应用程序,它将监视正在运行的 Docker 容器,并监视这些容器最初从其启动镜像的更改。如果 Watchtower 检测到镜像的版本已更改,它将使用新版镜像自动重新启动容器。

只需要将新镜像推送到 Docker Hub 或自己的镜像注册表,即可更新容器化应用的运行版本。Watchtower 将拉下新版镜像,并正常关闭现有的容器,使用与最初部署时相同的选项重新启动它。

工具使用

只需运行下面命令即可:

1
docker run -d -v /var/run/docker.sock:/var/run/docker.sock containrrr/watchtower

如果正在运行的容器比较多,只想监控其中几个容器,可以按照下面命令执行,如 Nginx/MySQL:

1
docker run -d -v /var/run/docker.sock:/var/run/docker.sock containrrr/watchtower nginx mysql

如果不需要 Watchtower 一直监控,而是运行一次即可,可运行下面的命令:

1
docker run -d -v /var/run/docker.sock:/var/run/docker.sock containrrr/watchtower --run-once

Watchtower 默认升级新版镜像后,仍保留原版本镜像,如果无需保留,可运行下面的命令:

1
docker run -d -v /var/run/docker.sock:/var/run/docker.sock containrrr/watchtower --cleanup

Watchtower 默认不会监控停止状态的容器,如果需要一并升级,可运行下面的命令:

1
docker run -d -v /var/run/docker.sock:/var/run/docker.sock containrrr/watchtower --include-stopped

Watchtower 默认每 24 小时检查新版本,如果需要修改检查间隔,可运行下面的命令:

1
docker run -d -v /var/run/docker.sock:/var/run/docker.sock containrrr/watchtower --interval 86400

本文链接:https://my.lmcjl.com/post/18768.html

展开阅读全文

4 评论

留下您的评论.