如何在Docker Hub上的标签下分辨软件版本

时间:2018-10-22 16:49:58

标签: docker jenkins dockerfile dockerhub

我是Docker的新手,我试图找到一种方法来告诉docker hub标签图像的版本。

例如,jenkins/jenkins:lts-latest图像(在此处https://hub.docker.com/r/jenkins/jenkins/tags/列出)实际上是哪个图像版本的别名?以及如何在jenkins回购中推断对应的dockerfile / branch?

我尝试使用docker搜索,但不能。我还尝试在官方的Jenkins github dockerfile repo https://github.com/jenkinsci/docker中找到一条线索,但是我没有看到任何bindung标记或任何能提示我图像来源的东西

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

2 个答案:

答案 0 :(得分:2)

对于您要求的回购,答案为否。

在dockerhub上进行安装回购时,有两种选项可供用户选择,如下所示:

1)创建存储库:

这样,dockerhub仅为用户创建了一个存储库,用户需要在本地服务器上构建自己的映像,对其进行标记,然后将其推送到dockerhub。

当用户将其图像推送到dockerhub时​​,不会附加有关源版本的其他信息,因此无法从dockerhub获取任何源映射。

jenkins/jenkins,就是这种回购。

2)创建自动构建

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

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

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

总而言之,对于您在问题中提到的存储库,它们不是Automated Build,因此您无法获取图像和源代码的映射,但是如果您碰巧在dockerhub中找到了一个存储库,以后Automated Build,想知道地图,那么就可以。

答案 1 :(得分:0)

只要我理解您的问题,您便会尝试使用与您的软件版本相同的版本标记docker映像。为此,我用来创建图像标签:

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

如果不是这种情况。请进一步说明您的用例,以便我们为您提供更好的解决方法。