You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何查看服务器上所有用户(含root)的rootless容器和镜像?

全量查询Podman容器与镜像的方法

Podman的rootless容器运行在对应用户的独立命名空间下,运行状态、存储数据默认保存在用户家目录的$HOME/.local/share/containers/路径下,root用户直接执行podman命令默认只会读取/var/lib/containers/下的root层级容器数据,因此无法直接列出所有普通用户的rootless容器。

解决方法

方案1:遍历系统用户查询(兼容所有Podman版本)

通过遍历系统所有用户,分别以对应用户身份执行查询命令,可兼容所有版本的Podman,结果最准确。

  • 全量查询所有容器命令示例:
# 先输出root用户的容器
echo "=== root 用户容器 ==="
podman container ps --all

# 遍历所有普通用户(默认普通用户UID范围为1000-65533,可根据自身系统规则调整)
for user in $(awk -F: '$3 >= 1000 && $3 < 65534 {print $1}' /etc/passwd); do
    echo -e "\n=== 用户 $user 的rootless容器 ==="
    runuser -u $user -- podman container ps --all 2>/dev/null || echo "该用户无运行Podman环境或无容器"
done
  • 全量查询所有镜像:将上述命令中的podman container ps --all替换为podman image ls即可。

方案2:使用原生参数查询(Podman 3.1及以上版本支持)

3.1及以上版本的Podman新增了--user参数,root用户执行时可直接指定查询对象:

  • 查询指定用户的容器:podman ps --all --user <用户名/UID>
  • 一键查询所有用户的所有容器:
podman ps --all --user all

注意事项

  • 若普通用户自定义了Podman存储路径,需要在执行查询命令时传入对应CONTAINERS_CONF环境变量指定配置文件路径,才能正常读取容器数据。
  • 若存在未开启登录权限的系统用户运行了rootless容器,需要自行调整遍历用户的UID范围,覆盖对应账号。

内容的提问来源于stack exchange,提问作者無名前

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 17:54:04