如何强制删除所有的Podman镜像及其子镜像?

21

当我执行像 podman rmi d61259d8f7a7 -f 这样的命令时,会出现以下错误提示:Error: unable to delete "vvvvvvvvvvvv" (cannot be forced) - image has dependent child images

我已经尝试使用 --all 开关 podman rmi --all 来删除一些镜像,但仍有很多镜像被保留下来。如何在单个步骤中强制删除所有镜像和依赖的子镜像?

2个回答

39

受类似docker answer的启发,加上a是我这种情况下缺少的魔法:

警告:这将删除每个镜像!请仔细检查并确认这确实是您所需的。

$ podman rmi $(podman images -qa) -f

请再次注意使用时要小心,并确保知道自己在做什么!我分享这里是为了方便日后查阅,并希望能为别人节省一些时间。

感谢@Giuseppe Scrivano的提示,还有一种可能更加自然的替代方法(前面的警告仍然适用):

podman system prune --all --force && podman rmi --all

有关详细信息,请参见podman system prune --help。我还没有机会验证这种方法是否可以解决"image has dependent child images"的错误。


14

您可以使用podman system reset重置整个存储。


$ podman system reset 错误:无法识别命令 'podman system reset' 请尝试使用 'podman system --help' 获取更多信息。但是,podman system prune 可以删除悬空的镜像和构建缓存,并且可以跟随 podman rmi --all 来清理其余部分。您可能需要更新您的答案,但为了完整起见,我会添加到我的答案中。 - Nagev
1
“podman system reset” 是最近新增的功能。您使用的 Podman 版本是哪个? - Giuseppe Scrivano
我明白了,那就好,这对其他人也有帮助。在我的Ubuntu 20.04.1 LTS上,我使用apt命令得到了以下信息:sudo apt-get install podmanpodman已经是最新版本(1.6.2-1ubuntu19.04ppa1)。所以在更新之前,我将继续使用1.6.2版本。谢谢。 - Nagev
找到了:http://docs.podman.io/en/latest/markdown/podman-system-reset.1.html - Nagev
这款啤酒会删除我用于数据库(persistentVolumeClaim)的存储卷吗? - Matt
这虽然有点过分,但正是我所需要的,因为我想重新下载我图像中使用的所有块并重新安装图像。 - MrMas

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接