如何恢复由docker rmi`命令删除的docker镜像?

时间:2015-10-11 12:10:49

标签: docker

我发出命令docker rmi 0d20855ef162将其删除。怎么找回来? 我不想再次从远程注册表中docker pull,怎么做?

1 个答案:

答案 0 :(得分:6)

其余的DELETE操作由api/client/rmi.go#L34调用,后者又调用daemon/image_delete.go#L226

daemon.Graph().Delete(img.ID)

调用graph/graph.go#L364-L375执行:

tmp, err := graph.mktemp()
os.Rename(graph.imageRoot(id), tmp)
// Remove the trashed image directory
return os.RemoveAll(tmp)

所以它确实会删除imageRoot文件夹中的文件(如果没有冲突,则表示图像未被其他任何内容引用)。

在这种情况下,答案是您无法再次拉回图像而无法找回图像。