podman

podman-container-toolsApache-2.0活跃维护

无守护进程的 OCI 容器与 Pod 管理工具,命令行体验兼容 Docker,适合在 Linux 上以 rootless 方式运行容器。

Podman: A tool for managing OCI containers and pods.

v6.1.4发布于 2026-10-12 20:59 UTC33,225star +27 / 7 天3,442fork同步于 2026-11-10 17:21 UTC

怎么上手

由 README 提炼,执行前请确认
podman run quay.io/podman/hello
硬件要求按 README 说明

README 未说明具体硬件或显存要求;在 Linux 上原生运行,Mac 和 Windows 通过 podman machine 管理的虚拟机运行。

有 Docker 镜像
下载:源码 zip·GitHub Releases(安装包)本站不镜像安装包

项目说明

由 README 自动翻译提炼

无守护进程的 OCI 容器与 Pod 管理工具,兼容 Docker CLI,支持 rootless 运行

无守护进程的 OCI 容器与 Pod 管理工具,命令行体验兼容 Docker,适合在 Linux 上以 rootless 方式运行容器。

核心能力

  • 兼容 Docker CLI 接口,可本地或远程运行容器
  • 无管理守护进程,空闲时资源占用更低
  • 支持 rootless 运行,用用户命名空间隔离权限
  • 用 Netavark 管理容器网络
  • 支持 Pod 与 CRIU 检查点/恢复

容易踩的坑

Mac 和 Windows 需先通过 podman machine 创建并启动虚拟机;rootless 模式存在部分功能限制,详见 rootless.md;上游仅支持最新版本,长期支持需查 LTS 说明

内容由模型根据 README 生成,可能不完整或不准确,以官方文档为准。看原文 README

最近发版

5 个版本v6.1.4
  1. v6.2.0-rc1v6.2.0-RC1pre-release2026-10-26 · 2026-10-26 13:09 UTC
    查看更新说明

    Features

    • The podman push command now supports a new option, --platform, which selects and pushes a single platform-specific manifest instead of the entire list.
    • The podman kube play command now supports a new option, --validate, which determines how unrecognized YAML fields are handled (#18332).
    • The podman kube play command now supports a new option, --label, to set labels on created containers, pods, volumes, and secrets (#26450).
    • The podman kube play command can now create multiple pods if more than 1 replica is requested by a deployment using the new --multiple-pods option (#26769).
    • The podman kube play --build command now supports building images from subdirectories of the main context directory (#28148).
    • Quadlet .container files now support a new key, Umask, to set the default umask for the created container (#25278).
    • All Quadlet files now support a new key, SetMountsDependency, configuring whether the generated unit will use RequiresMountsFor, WantsMountsFor, or no dependency at all on required source paths (#29946).
    • The podman farm list command now supports two new options, --quiet, which will print only the names of active farms, and --noheading, which omits column headers from the output.
    • The podman artifact ls command now supports two new options, --format=json, which will output machine-readable JSON, and --quiet, which prints only artifact digests.
    • The podman create command now supports a new option, --passwd, to add entries to /etc/passwd in the container (this has previously been available with podman run).
    • The podman info command now includes detailed information on the features supported by OCI runtimes.
    • The podman events --filter command now supports a new filter, network=, to filter to events pertaining to a specific network (#29387).
    • The podman auto-update command has been enabled on the remote Podman client.
    • The StartInterval field in image healthcheck configuration is now respected, allowing images to configure startup healthchecks (#27724).
    • The podman image scp command now supports two new options, --compression-format and --compression-level, to compress data during transfer (#23192).
    • The podman auto-update command now supports a new option, --filter, to selectively update only containers that match the given filters.
    • The podman ps --sort command now allows sorting by pod.
    • The podman ps --filter command now supports a new filter, status!, which matches containers not in the given state (#21398).

    Changes

    • Podman now requires Go v1.26 or higher to build.
    • The podman kube play command now uses the securityContext.seccompProfile fields in Kubernetes YAML for Seccomp configuration. Support for the existing annotation-based configuration of Seccomp is now deprecated, and will be removed with Podman 7.0.
    • The podman inspect command on containers now includes three new fields, DNSNames (containing all names the container can be accessed via), IsInitCtr (whether the container is an init container), and InitContainerType (what type of init container this is, if it is one) (#29811).
    • The podman inspect command on containers now only includes user-added DNS aliases in the `Aliases
  2. v6.1.4最新正式版2026-10-12 · 2026-10-12 20:59 UTC

    Bugfixes

    • Fixed an issue where Podman would not function when run under WSL 3 (#29749).

    Misc

    • Updated gvproxy to v0.9.0, resolving CVE-2026-107935
    • Updated Buildah to v1.45.2
    • Updated Storage to v1.64.2
  3. v5.8.92026-10-12 · 2026-10-12 20:35 UTC
    查看更新说明

    Bugfixes

    • Fixed an issue where Podman would not function when run under WSL 3 (#29749).
    • Fixed a bug with podman machine VMs on Mac where machines could be left in an inconsistent state if the podman machine start command was interrupted by a signal.

    Misc

    • Updated gvproxy to v0.9.0, resolving CVE-2026-107935
    • Updated Buildah to v1.43.5
    • Updated Storage to v1.62.2
  4. v5.8.82026-09-29 · 2026-09-29 16:25 UTC
    查看更新说明
    • This release addresses CVE-2026-94603, where a podman run on a checkpoint image (any image with the io.podman.annotations.checkpoint.runtime.name annotation) could disable all sandboxing, including sandboxing specified by the user, when the container was created.

    Breaking Changes

    • Removed support for checkpoint images in podman run due to serious security concerns with the different security models of running images and running checkpoints. Checkpoints ignore user-specified security configuration and are very difficult to run safely.
  5. v6.1.32026-09-29 · 2026-09-29 15:34 UTC
    查看更新说明

    Security

    • This release addresses CVE-2026-94603, where a podman run on a checkpoint image (any image with the io.podman.annotations.checkpoint.runtime.name annotation) could disable all sandboxing, including sandboxing specified by the user, when the container was created.

    Breaking Changes

    • Removed support for checkpoint images in podman run due to serious security concerns with the different security models of running images and running checkpoints. Checkpoints ignore user-specified security configuration and are very difficult to run safely.

用户点评

登录用户的真实使用记录,可按版本和硬件筛选
共 0 条

    还没有人点评。第一个说出真实体验的人最有价值。

    README 原文

    未翻译

    PODMAN logo

    Podman: A tool for managing OCI containers and pods

    License GitHub release (latest SemVer) OpenSSF Best Practices

    LFX Health Score LFX Contributors

    Podman (the POD MANager) is a tool for managing containers and images, volumes mounted into those containers, and pods made from groups of containers. Podman runs containers on Linux, but can also be used on Mac and Windows systems using a Podman-managed virtual machine. Podman is based on libpod, a library for container lifecycle management that is also contained in this repository. The libpod library provides APIs for managing containers, pods, container images, and volumes.

    Podman releases a new major or minor release 4 times a year, during the second week of February, May, August, and November. Patch releases are more frequent and may occur at any time to get bugfixes out to users. All releases are PGP signed. Public keys of members of the team approved to make releases are located here.

    Only the most recent release receives upstream support. Exceptions are sometimes made in which case we offer a LTS version, the supported versions can be found here

    Overview and scope

    At a high level, the scope of Podman and libpod is the following:

    • Support for multiple container image formats, including OCI and Docker images.
    • Full management of those images, including pulling from various sources (including trust and verification), creating (built via Containerfile or Dockerfile or committed from a container), and pushing to registries and other storage backends.
    • Full management of container lifecycle, including creation (both from an image and from an exploded root filesystem), running, checkpointing and restoring (via CRIU), and removal.
    • Full management of container networking, using Netavark.
    • Support for pods, groups of containers that share resources and are managed together.
    • Support for running containers and pods without root or other elevated privileges.
    • Resource isolation of containers and pods.
    • Support for a Docker-compatible CLI interface, which can both run containers locally and on remote systems.
    • No manager daemon, for improved security and lower resource utilization at idle.
    • Support for a REST API providing both a Docker-compatible interface and an improved interface exposing advanced Podman functionality.
    • Support for running on Windows and Mac via virtual machines run by podman machine.

    Roadmap

    The future of Podman feature development can be found in its roadmap.

    Communications

    If you think you've identified a security issue in the project, please DO NOT report the issue publicly via the GitHub issue tracker, mailing list, or IRC. Instead, send an email with as many details as possible to [email protected]. This is a private mailing list for the core maintainers.

    For general questions and discussion, please use Podman's channels.

    For discussions around issues/bugs and features, you can use the GitHub issues and PRs tracking system.

    There is also a mailing list at lists.podman.io. You can subscribe by sending a message to [email protected] with the subject subscribe.

    Community Meetings

    All Podman meetings are open to everyone, free to attend, and hosted via Zoom through the CNCF/Linux Foundation. The full calendar is available on the Podman Container Tools LFX Meetings page. Registering for a meeting sends you an invite for that meeting and all subsequent recurring instances.

    MeetingScheduleFormat
    Podman Community Meeting and its agendaFirst Tuesday of even-numbered months (Feb, Apr, Jun, Aug, Oct, Dec) at 11:00 a.m. Eastern (UTC-4 summer / UTC-5 winter)~1 hour — demos, announcements, and community updates
    Podman Monday Office Hours and its agendaEvery Monday at 10:30 a.m. Eastern (UTC-4 summer / UTC-5 winter)30 min — technical discussions, open topics
    Podman Thursday Office Hours and its agendaEvery Thursday at 11:30 a.m. Eastern (UTC-4 summer / UTC-5 winter)30 min — technical discussions, open topics

    Rootless

    Podman can be easily run as a normal user, without requiring a setuid binary. When run without root, Podman containers use user namespaces to set root in the container to the user running Podman. Rootless Podman runs locked-down containers with no privileges that the user running the container does not have. Some of these restrictions can be lifted (via --privileged, for example), but rootless containers will never have more privileges than the user that launched them. If you run Podman as your user and mount in /etc/passwd from the host, you still won't be able to change it, since your user doesn't have permission to do so.

    Almost all normal Podman functionality is available, though there are some shortcomings. Any recent Podman release should be able to run rootless without any additional configuration, though your operating system may require some additional configuration detailed in the install guide.

    A little configuration by an administrator is required before rootless Podman can be used, the necessary setup is documented here.

    Podman Desktop

    Podman Desktop provides a local development environment for Podman and Kubernetes on Linux, Windows, and Mac machines. It is a full-featured desktop UI frontend for Podman which uses the podman machine backend on non-Linux operating systems to run containers. It supports full container lifecycle management (building, pulling, and pushing images, creating and managing containers, creating and managing pods, and working with Kubernetes YAML). The project develops on GitHub and contributions are welcome.

    Out of scope

    • Specialized signing and pushing of images to various storage backends. See Skopeo for those tasks.
    • Support for the Kubernetes CRI interface for container management. The CRI-O daemon specializes in that.

    OCI Projects Plans

    Podman uses OCI projects and best of breed libraries for different aspects:

    • Runtime: We use the OCI runtime tools to generate OCI runtime configurations that can be used with any OCI-compliant runtime, like crun and runc.
    • Images: Image management uses the containers/image library.
    • Storage: Container and image storage is managed by containers/storage.
    • Networking: Networking support through use of Netavark and Aardvark. Rootless networking is handled via pasta.
    • Builds: Builds are supported via Buildah.
    • Conmon: Conmon is a tool for monitoring OCI runtimes, used by both Podman and CRI-O.
    • Seccomp: A unified Seccomp policy for Podman, Buildah, and CRI-O.

    Podman Information for Developers

    For blogs, release announcements and more, please checkout the podman.io website!

    Installation notes Information on how to install Podman in your environment.

    OCI Hooks Support Information on how Podman configures OCI Hooks to run when launching a container.

    Podman API Documentation on the Podman REST API.

    Podman Commands A list of the Podman commands with links to their man pages and in many cases videos showing the commands in use.

    Podman Container Images Information on the Podman Container Images found on quay.io.

    Podman Troubleshooting Guide A list of common issues and solutions for Podman.

    Podman Usage Transfer Useful information for ops and dev transfer as it relates to infrastructure that utilizes Podman. This page includes tables showing Docker commands and their Podman equivalent commands.

    Tutorials Tutorials on using Podman.

    Remote Client A brief how-to on using the Podman remote client.

    Basic Setup and Use of Podman in a Rootless environment A tutorial showing the setup and configuration necessary to run Rootless Podman.

    Release Notes Release notes for recent Podman versions.

    Contributing Information about contributing to this project.

    Buildah and Podman relationship

    Buildah and Podman are two complementary open-source projects that are available on most Linux platforms and both projects reside at GitHub.com with Buildah here and Podman here. Both, Buildah and Podman are command line tools that work on Open Container Initiative (OCI) images and containers. The two projects differentiate in their specialization.

    Buildah specializes in building OCI images. Buildah's commands replicate all of the commands that are found in a Dockerfile. This allows building images with and without Dockerfiles while not requiring any root privileges. Buildah’s ultimate goal is to provide a lower-level coreutils interface to build images. The flexibility of building images without Dockerfiles allows for the integration of other scripting languages into the build process. Buildah follows a simple fork-exec model and does not run as a daemon but it is based on a comprehensive API in golang, which can be vendored into other tools.

    Podman specializes in all of the commands and functions that help you to maintain and modify OCI images, such as pulling and tagging. It also allows you to create, run, and maintain those containers created from those images. For building container images via Dockerfiles, Podman uses Buildah's golang API and can be installed independently from Buildah.

    A major difference between Podman and Buildah is their concept of a container. Podman allows users to create "traditional containers" where the intent of these containers is to be long lived. While Buildah containers are really just created to allow content to be added back to the container image. An easy way to think of it is the buildah run command emulates the RUN command in a Dockerfile while the podman run command emulates the docker run command in functionality. Because of this and their underlying storage differences, you can not see Podman containers from within Buildah or vice versa.

    In short, Buildah is an efficient way to create OCI images while Podman allows you to manage and maintain those images and containers in a production environment using familiar container cli commands. For more details, see the Container Tools Guide.

    Podman Hello

    $ podman run quay.io/podman/hello
    Trying to pull quay.io/podman/hello:latest...
    Getting image source signatures
    Copying blob a6b3126f3807 done
    Copying config 25c667d086 done
    Writing manifest to image destination
    Storing signatures
    !... Hello Podman World ...!
    
             .--"--.
           / -     - \
          / (O)   (O) \
       ~~~| -=(,Y,)=- |
        .---. /`  \   |~~
     ~/  o  o \~~~~.----. ~~
      | =(X)= |~  / (O (O) \
       ~~~~~~~  ~| =(Y_)=-  |
      ~~~~    ~~~|   U      |~~
    
    Project:   https://github.com/containers/podman
    Website:   https://podman.io
    Documents: https://docs.podman.io
    Twitter:   @Podman_io