Py学习  »  docker

如何在Docker Hub标签下判断软件版本

Whimusical • 6 年前 • 810 次点击  

我在Docker是相当新手,我正在试图找到一种方式来告诉版本的Docker集线器标记的图像。

例如, jenkins/jenkins:lts-latest 图片,在这里列出 https://hub.docker.com/r/jenkins/jenkins/tags/ ,什么图像版本实际上是别名?我怎么能推断出詹金斯回购协议中的对应Dockerfile/分支?

我尝试过Docker搜索,但没有成功。我还试图在Jenkins Github Dockerfile的官方报告中找到一条线索: https://github.com/jenkinsci/docker ,但我没有看到任何bindung标记或任何提示图像来源的内容。

另一个例子,我有一个kubernetes集群,当我检查我的nexus pod时,我同样看到图像被定义为 sonatype/nexus3:latest 。 在这种情况下,至少我有 imageID: docker-pullable://sonatype/nexus3@sha256:434a2564aa64646464afaf.. 但我又一次不知道如何将它映射到软件的实际版本

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/39808
文章 [ 2 ]  |  最新文章 6 年前
Arslan Qadeer
Reply   •   1 楼
Arslan Qadeer    7 年前

只要我理解你的问题,你就试图用和你的软件版本相同的版本来标记docker图像。为此,我使用创建图像标记:

$ export VERSION="2.31-b19" $ docker tag "<user>/<image>:${VERSION}" "<docker_hub_user>/<repo>:latest"

如果不是这样的话。请多解释一下您的用例,以便我们能为您提供更好的解决方案。

atline
Reply   •   2 楼
atline    7 年前

对于你要求的回购协议,答案是否定的。

在DockerHub上设置回购时,有两种选项供用户选择,如下所示:

1)创建存储库:

这样,dockerhub就为用户创建了一个repo,用户需要在本地服务器上构建自己的镜像,对其进行标记,并将其推送到dockerhub。

当用户将自己的图片推送到dockerhub时,不会附加任何关于源版本的附加信息,因此无法从dockerhub获取任何源映射。

jenkins/jenkins ,只是这种回购。

2)创建自动生成

通过这种方式,dockerhub将从github或bitbucket获取代码,并在其云基础设施上构建映像,因此它将确切知道当前docker映像的源提交是什么。

jenkins/jnlp-slave ,只是这种回购。

然后,您可以单击 Build Details 在网页上,单击一个链接,例如。 3.26-1-alpine ,您将看到提到的日志 0a0239228bf2fd26d2458a91dd507e3c564bc7d0 是源提交。

综上所述,对于你在问题中提到的回购,它们不是 Automated Build ,因此您无法获取映像源代码的映射,但如果您碰巧在dockerhub中找到一个repo 自动生成 以后想知道地图,就可以了。