如何恢复对hub.docker.com的最后推送?

时间:2019-04-02 12:42:51

标签: docker dockerhub

我通过在hub.docker.com上错误的docker映像推送和覆盖来损坏我的工作docker映像。如何恢复上一次推送?

2 个答案:

答案 0 :(得分:1)

我知道没有还原选项。如果您在某处具有良好的映像副本,则可以将其重新推送到注册表。为避免将来再出现此问题,请执行以下一个或多个步骤:

  1. 避免使用最新标签,并为每个版本赋予唯一标签。
  2. 对可保存在版本控制中的Dockerfile使用可复制的构建过程,该文件对所有依赖项使用特定的版本。这使您可以检出Dockerfile的先前状态以重新运行先前的构建。
  3. 为您的图像以及对其他图像的任何依赖项维护自己的私有注册表。确保维护这些依赖性(定期更新)并备份注册表。

答案 1 :(得分:0)

您可以使用 docker hub 中的 Advanced Image Management 页面复制好镜像的摘要,将其拉入您的系统,覆盖标签,然后推回。使用这些命令:

docker image pull myname/example@sha256:1234
docker tag myname/example@sha256:1234 myname/example:mytag
docker push myname/example:mytag

假设 myname/example@sha256:1234 是您从 docker hub 复制的良好映像的摘要,myname/example:mytag 是您想要将映像标记为的内容。