用途:Podman 是无守护进程(daemonless)的容器引擎,用于运行和管理容器。适合在无 root 权限、无 Docker 或安全敏感的环境中工作,也支持以 Pod 方式组织容器组。
主要能力:支持 rootless 容器、Pod(Kubernetes 风格)、systemd 集成(含 Quadlet)、镜像构建与推送、网络与卷管理、registry 配置与认证,以及 Docker 兼容命令。与 Docker 的关键差异:架构为无守护进程、root 可选、原生支持 Pod 与 systemd。
使用方式:常用命令与 Docker 类似,如 podman run -d --name webserver -p 8080:80 nginx、podman ps -a、podman build -t myapp:latest .、podman push。rootless 需启用用户命名空间并配置 subuid/subgid,例如 sudo usermod --add-subuids 100000-165535 --add-subgids 100000-165535 $USER。Pod 可用 podman pod create 创建,并可用 podman generate kube 生成 Kubernetes YAML。systemd 集成可用 podman generate systemd 或 Quadlet(Podman 4.4+)。Compose 兼容可用 podman-compose 或通过 podman.socket 配合 Docker Compose。
适用场景:无 Docker 的系统、安全敏感环境、需要 rootless 运行、需要 Pod 或 systemd 管理容器、需要 Kubernetes YAML 互操作。
限制:rootless 默认无法绑定 1024 以下端口,需改用高位端口或配置 net.ipv4.ip_unprivileged_port_start;挂载卷可能遇到 SELinux 权限问题,需使用 :Z 或 :z;systemd 服务需启用 lingering(loginctl enable-linger $USER)。具体版本要求与更多细节以官方资料为准,部分内容暂未提供。