检查图像的更新 Docker 构建 [重复]
Posted
技术标签:
【中文标题】检查图像的更新 Docker 构建 [重复]【英文标题】:Check for newer Docker build for image [duplicate] 【发布时间】:2018-04-29 19:53:18 【问题描述】:我正在从 Docker 运行带有标签 lts
的 Jenkins。这个标签后面是版本2.73.2
。现在有一个更新的lts
版本可用:2.73.3
。 Docker 不会自动检查它。我必须通过docker pull jenkins/jenkins:lts
才能获得新版本。
但是如何检查标签是否有更新的版本?
编辑: 我要澄清:这不是重复的!我问如何检查可用的更新 Docker 映像。我知道如何升级(如上所述)。
【问题讨论】:
另一个问题是关于升级的。正如我在问题中所写的那样,我知道如何升级。我想检查是否需要升级。 是的,你是对的。看起来这真的不是一件简单的事情。 【参考方案1】:有一个名为 Watchtower (https://github.com/v2tec/watchtower) 的项目,它监视正在运行的容器,如果有具有相同标签的新版本可用,它将拉取新图像并重新启动容器。
【讨论】:
【参考方案2】:Docker 不检查较新版本的远程映像。构建时,Docker首先检查基础镜像是否在本地缓存中。如果它发现它正在使用它,否则它会尝试从远程存储库中提取它。
我要获取最新的图像,您必须通过运行手动完成:
docker pull jenkins/jenkins:lts
或者,您可以在构建时禁用缓存,并通过指定 --no-cache 选项始终下载最新图像:
docker build --no-cache ...
【讨论】:
我知道如何手动升级,但有没有办法检查是否需要升级? @Michael 据我所知,没有一种自动检查更新图像的方法。大多数解决方案都使用 scipt 来包装构建命令,该 scipt 会拉取图像然后构建。以上是关于检查图像的更新 Docker 构建 [重复]的主要内容,如果未能解决你的问题,请参考以下文章
用于 pentaho 数据集成 (pdi) 的 docker-compose 健康检查