检查图像的更新 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 构建 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

如何检查docker镜像是否包含所有文件?

Docker容器学习梳理-Dockerfile构建镜像

用于 pentaho 数据集成 (pdi) 的 docker-compose 健康检查

Docker构建抱怨它无法找到nuget fallback包文件夹

在容器运行时更​​新 docker 容器 [重复]

docker-ce的安装