如何让 Docker hub 使用相同的镜像来表示“最新”和“vX.Y”?

2024-02-28

Docker Hub 构建了一个同步图像 https://hub.docker.com/r/meonkeys/syncthing/对我来说从这个源代码库 https://github.com/meonkeys/docker-syncthing.

我标记了最新提交 https://github.com/meonkeys/docker-syncthing/commit/d3ef7a6cf24e9530b7c1723f900e0eb7a5fd7185v0.13.5,但 Docker 构建了两次:一次为latest https://hub.docker.com/r/meonkeys/syncthing/builds/bzlm4fee4yjyngzecouubzv/ and v0.13.5 一次 https://hub.docker.com/r/meonkeys/syncthing/builds/bmefygwvfoewavn9lcexayc/.

为什么?难道不应该能够弄清楚来源是相同的吗?我只是在做一些愚蠢的事情吗Dockerfile https://github.com/meonkeys/docker-syncthing/blob/master/Dockerfile,破坏缓存?我是否需要通过某种方式向 Docker Hub 暗示这实际上应该是具有相同校验和但标签不同的两个映像?

我正在考虑两个 Docker 镜像标签latest and v0.13.5就像两个 git 标签都指向同一个提交。 Docker Hub 不也应该这样工作吗?如果有人试图拉latest他们会拉出完全相同的标记图像v0.13.5?我知道如何拉/重新标记/推送,但同样,似乎必须有某种方法让 Docker Hub 自动执行此操作。

构建设置 https://hub.docker.com/r/meonkeys/syncthing/~/settings/automated-builds/:


施展一点魔法,Docker Hubcan做这个!巴勃罗·奇科·德·古兹曼 https://github.com/pchico83 帮助我 https://github.com/docker/hub-feedback/issues/712#issuecomment-228263585.

Steps:

  1. 添加一个名为hooks/post_push
  2. make hooks/post_push可执行、提交和推送
  3. 删除“Branch”构建,但保留“Tag”构建

现在,我推送的任何标签(例如git push --tags)启动自动构建,并且还给出了相同的图像latest tag.

这是我必须做出的改变 https://github.com/meonkeys/docker-syncthing/commit/b9298d84ffbcee12100b3f053d4a8658d56a3647所以最近的“vX.Y”标记meonkeys/syncthing图片也被标记了latest.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何让 Docker hub 使用相同的镜像来表示“最新”和“vX.Y”? 的相关文章

随机推荐