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

mai*_*mer 2 docker

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

Von*_*onC 6

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

daemon.Graph().Delete(img.ID)
Run Code Online (Sandbox Code Playgroud)

这称为graph/graph.go#L364-L375其中:

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

所以它似乎确实从imageRoot文件夹中删除了文件(如果没有冲突,这意味着如果图像没有被其他任何东西引用).

在这种情况下,答案是你无法再次拉回来找回图​​像.