Docker Hub从Syncthing image为我构建this source repo。
我标记了latest commit v0.13.5,但Docker构建了两次:once for latest
和once for v0.13.5。
为什么呢?难道不能确定来源是一样的吗?我只是在Dockerfile做了一些愚蠢的事情,打破了缓存?有没有什么方法我需要提示Docker Hub这应该是两个具有相同校验和但标签不同的图像?
我正在考虑两个Docker图像标记latest
和v0.13.5
,就像两个指向同一个提交的git标记一样。 Docker Hub也不应该这样工作吗?如果有人试图提取latest
,他们会提取相同的标记为v0.13.5
的图片吗?我知道如何拉/重新标记/推送,但同样,似乎必须有一些方法让Docker Hub自动执行此操作。
答案 0 :(得分:2)
Latest
只是“没有指定特定标记/版本的最后一个构建/标记”。
如果您按下已标记的图像,则不会替换标记为最新的当前图像。如果仅推送标记图像,则不会添加latest
标记。
Docker Hub上的自动构建会自动为主分支添加latest
标记。
答案 1 :(得分:1)
有点神奇,Docker Hub 可以做到这一点! Pablo Chico de Guzmán helped me out。
步骤:
hooks/post_push
hooks/post_push
可执行,提交并推送现在,我推送的所有代码(例如git push --tags
)都会触发自动构建,同样的图片也会获得latest
代码。
Here's the change I had to make所以最新的" vX.Y"标记的meonkeys/syncthing
图片也标记为latest
。