IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

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

    Teacher Du发表于 2024-11-01 03:51:26
    love 0

    杜老师喜欢使用 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


沪ICP备19023445号-2号
友情链接