Docker:如何防止使用docker注册表中的最新图像?

时间:2014-07-17 10:21:40

标签: docker

我正在使用https://registry.hub.docker.com/u/blalor/centos/

中的centos图片

出于某种原因,Blalor决定从基础映像上安装的软件包列表中删除passwd,并且我的dockers停止了新的部署工作。为什么码头工人不知道用于我的码头工人的构造?我现在必须更改我的基本图像并更改每个服务器的泊坞窗图像。

我无法使用标签功能,因为有blalor的图像标记?我是否必须使用源代码并自己托管centos图像,以便它不会再次更改?

1 个答案:

答案 0 :(得分:2)

您不需要使用来源。如果您有工作图像,则可以docker history <your image>查看已使用的图像ID,并将正确的图像标记为shortfellow/centos。如果您没有工作图像,则在您提供的链接上有一个build detail部分,其中包含构建历史记录。您可以看到,在2014年1月13日,它已经构建,然后图像为a531daec9f98。您可以在dockerfile上执行FROM a531daec9f98以确保它永远不会更改,或者您可以docker tag a531daec9f98 shortfellow/centos(之前需要docker pull a531daec9f98)。

在某种意义上它与git非常相似,如果你使用某人的存储库,如果有人不使用标签或分支,当他更新他的寄存器然后再拉,你会得到最新的带有新变化的版本。为了回到您喜欢的版本,您需要找到提交ID。解决方案是分叉存储库。您可以通过在用户名下标记图像并推送到注册表(docker push username/image)来在Docker上执行此操作