当我执行像 podman rmi d61259d8f7a7 -f
这样的命令时,会出现以下错误提示:Error: unable to delete "vvvvvvvvvvvv" (cannot be forced) - image has dependent child images
。
我已经尝试使用 --all 开关 podman rmi --all
来删除一些镜像,但仍有很多镜像被保留下来。如何在单个步骤中强制删除所有镜像和依赖的子镜像?
受类似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"的错误。
您可以使用podman system reset
重置整个存储。
podman system prune
可以删除悬空的镜像和构建缓存,并且可以跟随podman rmi --all
来清理其余部分。您可能需要更新您的答案,但为了完整起见,我会添加到我的答案中。 - Nagevapt
命令得到了以下信息:sudo apt-get install podman
:podman已经是最新版本(1.6.2-1ubuntu19.04ppa1)。所以在更新之前,我将继续使用1.6.2版本。谢谢。 - Nagev