Docker:如何防止从dockerregistry中使用最新的图像?

我从https://registry.hub.docker.com/u/blalor/centos/使用了centos镜像

出于某种原因,Blalor决定从安装在基本映像上的软件包列表中删除passwd,我的docker停止了新的部署。 为什么docker工不知道我的docker使用的版本? 我不得不现在改变我的基本图像,并改变每个服务器的docker图像。

我无法使用标签function,因为有标签为blalor的图像? 我必须使用源代码并自己托pipecentos映像,以便它不会再更改吗?

你不需要使用源代码。 如果你有一个工作的图像,你可以做docker history <your image>看到使用的图像ID,并标记适当的一个shortfellow/centos 。 如果您没有工作映像,则在您提供的链接上有build detail部分,其中包含构build历史logging。 你可以看到,2014年1月13日,它已经build成,图像是a531daec9f98 。 您可以在FROM a531daec9f98上执行FROM a531daec9f98 ,以确保它永远不会改变,或者您可以使用docker tag a531daec9f98 shortfellow/centos (您将需要docker pull a531daec9f98 )。

这与git非常相似,如果你使用某人的存储库,并且如果某人不使用标签或分支,当他更新他的reposiroty并且你重新拉动时,你将拥有最新版本的新变化。 为了回到你喜欢的版本,你需要find提交ID。 解决scheme是分叉库。 你可以通过在你的用户名下标记图像并推送到registry( docker push username/image