【发布时间】:2015-07-24 08:27:32
【问题描述】:
有什么方法可以防止图像被上传到 docker hub 并带有与现有图像相同的标签?我们的用例如下。
我们使用带有图像标签作为版本号的 docker-compose 文件部署到生产环境。为了支持回滚到以前的环境和幂等部署,某个标记的 docker 镜像必须始终引用同一个镜像。
但是,docker hub 允许使用与现有图像相同的标签上传图像(它们会覆盖旧图像)。这完全打破了对图像进行版本控制的想法。
我们目前有一些变通方法,其中涉及我们的构建脚本提取图像的所有版本并查看标签以检查是否不会发生覆盖等,但感觉必须有更好的方法。
如果 docker hub 不支持这个,有没有办法在没有 docker hub 的情况下进行 docker 部署?
【问题讨论】:
-
重读了这篇,我不太明白。你是什么意思“图像标签作为版本号”?你的意思是你使用版本号作为你的图像标签?这就说得通了。但是要检查一个标签是否会被覆盖,你为什么不能直接
docker pull image:tag看看那里有没有什么? -
嗯,没想过尝试拉出特定图像来检查标签是否存在,我们只是拉出所有图像/标签,这很麻烦,好主意。
-
这是标签应该被设为不可变的另一个原因。我有类似的问题,我不能保证我的某些图像(带有特定标签)的本地版本与所有其他节点上的相同。除此之外,DOCKER ROCKS!
标签: docker dockerhub continuous-delivery