2017-10-18 95 views
0

我正在尝试了解码头注册表和它的标签。如何在码头注册表中获取滚动的最新标签

我实际上使用gitlab注册表。

场景:

我推image1:latest

五分钟后,我再次推image1:latest

我的注册表中只有一个image1:latest实例。

我在猜测标签只是文本,没有语义意义,这是理解的。因此,注册表不能只保留一个图像与latest标签。它不明白,latest意味着什么。

我需要什么,如果我正确理解这一点,是一种只有一个图像latest标签的方法。因此,在我上面的例子中,我会看到..

image1 - Uploaded 5 minutes ago

image1:latest - Uploaded 30 seconds ago

如果它不工作,这种方式又是什么集装箱正确的版本控制策略?

回答

1

这篇文章在介质上将有助于澄清很多混淆。

https://medium.com/@mccode/the-misunderstood-docker-tag-latest-af3babfd6375

在我的情况下,我们的形象,我们通常版本号构建,例如,与此搜索标记的图像:V_1,将创建一个图像image1的:V_1。还会发生的是,image1:v_1也可以使用image1:latest进行引用。所以,如果你继续用image1标记image1:最新它并没有真正的标签,它只是知道它是最新的。希望这不是太混乱。

+0

非常有帮助谢谢。我现在的问题是如何获取.gitlab-ci.yml文件的版本号。我不想每次更改版本时都更新构建定义。你如何处理这个? – Remotec

+0

因为一切都是通过Jenkins/Shell脚本自动完成的,所以我基本上有一个模板yml,并且使用'sed'来替换每次使用内部版本号的版本号。但在你的情况下,如果你不关心标签,只需在没有标签的情况下推送它,每当你想在容器中使用图像时使用':latest'。 – Serey

相关问题