查找最新版本的Docker映像的实际版本

时间:2019-10-02 21:47:51

标签: docker dockerhub

docker pull jaegertracing/jaeger-agent:latest

Jaeger仅用于说明。但是我的问题更笼统。上面的命令从docker-hub中提取latest的{​​{1}}版本。

此docker-hub页面为:https://hub.docker.com/r/jaegertracing/jaeger-agent

我的问题是如何找到jaeger-agent的实际版本?

我在这里查看了标签,但没有太多信息: https://hub.docker.com/r/jaegertracing/jaeger-agent/tags

我也尝试在提取图像后尝试进行latest,但无法获取必要的详细信息。

inspect

我们从哪里可以得到这些信息?

2 个答案:

答案 0 :(得分:1)

latest只是一个与其他标签一样的标签-您将需要docker image inspect,该标签将为您提供有关图像上其他标签的信息。

jaegertracing/jaeger-agent:latest的情况下,该图像看起来没有任何其他标签,因此该图像可能正在跟踪类似于源代码控制存储库的master分支的内容,即,它没有完全对应于已发布的版本。

答案 1 :(得分:0)

正如@ max-gasner所提到的,latest跟踪git仓库的master分支是很常见的。这使工程师可以在发布映像和标记版本之前快速构建和测试映像。这就是为什么不建议将latest标记用于需要重现性的关键内容的原因之一。

jaegertracing/jaeger-agent:latest没有任何其他标签,因此确定所使用的latest的哪个“版本”的唯一方法是查看摘要。这可以唯一标识映像构建。标签实际上解析为摘要。因此,当使用latest标签构建新图像时,该标签将解析为新图像的摘要。

enter image description here

DockerHub仅显示简短版本。您可以像这样检查完整的摘要:

docker image inspect --format '{{.RepoDigests}}' jaegertracing/jaeger-agent:latest
> [jaegertracing/jaeger-agent@sha256:bacc749faba325fbe39dc13294c2222fb0babc9ecd344c25d9d577720a80b5ca]