ubuntu 20.04 lts 及更新版本已原生支持 podman,直接执行 sudo apt update && sudo apt install podman 即可安装,无需添加第三方仓库;验证命令为 podman --version,正常应输出 4.x+ 版本号。

Ubuntu 20.04 LTS 及更新版本已将 podman 收入官方源,直接用 apt 安装即可开用;老版本或非 Ubuntu 系统需手动添加仓库或编译,但多数场景下没必要——别一上来就去 GitHub 拉源码。
Ubuntu 上安装 podman:别绕弯,用 apt 最稳
Ubuntu 用户请跳过所有第三方仓库、Copr 或二进制下载方案。系统自带的 podman 包已针对内核、cgroups 和 slirp4netns 做过适配,尤其对 rootless 模式支持更可靠。
- 运行
sudo apt update && sudo apt install podman即可完成安装 - 验证是否生效:
podman --version(输出应为 4.x+,2026 年主流是podman version 4.9.4) - 若提示找不到包,先确认系统版本:
lsb_release -sc——focal(20.04)、jammy(22.04)、noble(24.04)均原生支持 - 不推荐用
curl | bash方式安装,容易混入非签名二进制,且绕过系统包管理,后续升级/卸载困难
rootless 模式失败?检查 /etc/subuid 和 /etc/subgid
Podman 默认启用 rootless,但普通用户首次运行 podman run hello-world 报错 cannot find UID/GID for user,本质是内核用户命名空间未分配子 ID 范围。
ApiPost是一个支持团队协作,支持模拟POST、GET、PUT等常见请求,并可直接生成文档的API调试、管理工具,ApiPost是后台接口开发者或前端、接口测试人员的工作必备工具。快速生成、一键导出API文档。感兴趣的朋友快来下载吧。软件说明ApiPost官方版是一款十分出色的接口调试与文档生成工具,ApiPost官方版界面美观大方,功能强劲实用,支持团队协作,支持模拟POST、GET、PUT等常见请求,是后台接口开发者或前端、接口测试人员的工作必备工具。软件特色更方便支持接口调试的同时快速生成、一键
- 执行
sudo usermod --add-subuids 100000-165535 --add-subgids 100000-165535 $USER - 确认文件内容:
grep $USER /etc/subuid /etc/subgid应各有一行,格式如youruser:100000:65536 - 重启当前 session(登出再登录),或运行
newgrp $USER刷新组权限 - 若仍报
slirp4netns not found,补装:sudo apt install slirp4netns(Ubuntu 24.04+ 已默认包含)
podman pull 拉不到镜像?别急着换 registry
podman pull 默认走 docker.io,但部分网络环境下会卡在 Getting image source signatures。这不是证书问题,而是 Podman 默认启用了签名验证(signature_policy),而某些镜像未签名。
- 临时绕过:
POLICY=skip podman pull nginx(仅调试用) - 永久修改:编辑
/etc/containers/policy.json,把"default": [{"type": "insecureAcceptAnything"}]替换掉原有 default 策略 - 更安全的做法是只对特定 registry 关闭验证:在
/etc/containers/registries.d/default.yaml中添加insecure: true配置段 - 注意:
podman login凭据默认存于$HOME/.config/containers/auth.json,不是~/.docker/config.json,Docker 凭据不能直接复用
podman run 启动容器后立即退出?检查 CMD 和前台进程
和 Docker 一样,podman run 默认不会维持容器运行——它只负责启动主进程,主进程结束,容器就退出。常见于直接跑 bash 或 python script.py 后脚本执行完就没了。
- 交互式调试加
-it:podman run -it ubuntu:22.04 bash - 后台服务必须保持前台运行:比如
nginx -g "daemon off;",而非service nginx start - 若用 systemd 容器,需加
--systemd=true参数,并确保镜像中/sbin/init可执行 - rootless 容器无法绑定低端口(podman run -p 80:8080 会失败,改用
-p 8080:80或启用net=host(不推荐)
真正容易被忽略的是 rootless 容器的 cgroup v2 权限:Ubuntu 22.04+ 默认启用 cgroup v2,但部分老内核或自定义内核可能未开启 unified_cgroup_hierarchy=1,导致 podman info 显示 cgroupVersion: v1,此时 rootless 会静默降级为 rootfull 行为——务必运行 podman info | grep cgroup 确认。










