我把它们和 system 组里其他几个常用命令放在一起整理了一下,方便你对比和使用。

命令作用主要用途风险等级
podman system prune清理未使用的资源日常清理,释放磁盘空间,如删除停止的容器、无用的镜像和网络。中等(默认不删除卷,避免误删数据)
podman system reset彻底重置存储将 Podman 存储完全恢复到初始状态,用于切换存储驱动或解决严重的配置问题。极高(会删除所有容器、镜像、卷等)
podman system df查看磁盘使用情况显示 Podman 在镜像、容器、卷和构建缓存上的磁盘占用,帮助决定是否需要清理。只读
podman system info显示系统信息查看 Podman 的配置、存储路径、驱动等详细信息,常用于排查问题。只读

下面是更详细的说明:

podman system prune:日常清理的好帮手

这个命令用于安全地清理那些不再被 Podman 使用的资源。根据你的需求,可以通过一些选项来调整清理范围:

  • 默认行为:只删除已停止的容器未被使用的网络悬空的镜像(dangling images) 和构建缓存。默认不会删除卷,以避免意外删除重要数据。
  • --all / -a:删除所有未使用的镜像,而不仅仅是悬空的。这会释放更多空间,但如果你有一些备用镜像,需要注意。
  • --volumes:将未被任何容器使用的卷也纳入清理范围。这是一个危险的操作,使用前请务必确认卷中的数据不再需要。
  • --build:删除因构建进程意外终止而遗留的构建容器。执行此操作时,要确保没有正在进行的构建任务,以免造成干扰。
  • --filter:支持按条件筛选清理。例如,--filter until=2m 会清理创建时间在2分钟之前的资源,--filter label=key=value 则会清理带有指定标签的资源。
  • --force / -f:强制执行,跳过交互式确认提示。

podman system reset:核武器级别的重置

这是一个操作不可逆的命令,它会将 Podman 的环境彻底“格式化”。

  • 删除范围:删除所有 Pod、容器、镜像、网络、卷、机器以及构建缓存
  • 删除目录:还会删除配置文件中指定的存储根目录(graphRoot,如 /var/lib/containers/storage)和运行根目录(runRoot)。
  • 主要场景:这个命令主要用于更换存储驱动(例如从 vfs 切换到 overlay)或修改 storage.conf 中的核心存储路径之前。通过重置,可以避免新旧配置混杂导致的问题。
  • --force / -f:同样可以跳过确认提示。

其他 system 子命令

podman system 下还有一些其他有用的命令:

  • podman system df:类似 Linux 的 df 命令,用于查看 Podman 各类资源(镜像、容器、卷等)的磁盘使用情况,是评估是否需要执行 prune 的好工具。
  • podman system info:显示 Podman 客户端的详细信息,包括版本、存储驱动、文件路径、注册表配置等,是故障排查时的首要信息来源。
  • podman system events:实时显示 Podman 守护进程生成的事件流,用于监控和调试。
  • podman system service:将 Podman 作为一个长期运行的 API 服务来启动。

标签: none

添加新评论