我是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..
,但再次我不知道如何将其映射到软件的实际版本
答案 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"
如果不是这种情况。请进一步说明您的用例,以便我们为您提供更好的解决方法。