抱歉,您的浏览器无法访问本站

本页面需要浏览器支持(启用)JavaScript


了解详情 >

杜老师喜欢使用Docker部署轻量级的应用,不过后期维护起来还是挺麻烦的,主要是新版本发布后的更新问题,需停止并删除当前容器,更新版本后使用相同参数再运行。今天介绍一款可以自动更新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

评论