用于代替docker的工具包,且和cri-o共享后端代码,迟早集成进K8S~~~。
(docker肿么办????)
github地址:
https://github.com/containers/libpod
Library and tool for running OCI-based containers in Pods
Libpod provides a library for applications looking to use the Container Pod concept, popularized by Kubernetes. Libpod also contains the Pod Manager tool (Podman)
. Podman manages pods, containers, container images, and container volumes.
Overview and scope
At a high level, the scope of libpod and podman is the following:
- Support multiple image formats including the OCI and Docker image formats.
- Support for multiple means to download images including trust & image verification.
- Container image management (managing image layers, overlay filesystems, etc).
- Full management of container lifecycle
- Support for pods to manage groups of containers together
- Resource isolation of containers and pods.
- Integration with CRI-O to share containers and backend code.
This project tests all builds against each supported version of Fedora, the latest released version of Red Hat Enterprise Linux, and the latest Ubuntu Long Term Support release. The community has also reported success with other Linux flavors.
Roadmap
- Allow the Podman CLI to use a Varlink backend to connect to remote Podman instances
- Integrate libpod into CRI-O to replace its existing container management backend
- Further work on the podman pod command
- Further improvements on rootless containers
Shortcomings of Rootless Podman
Out of scope
- Specializing in signing and pushing images to various storage backends. See Skopeo for those tasks.
- Container runtimes daemons for working with the Kubernetes CRI interface. CRI-O specializes in that.
- Supporting
docker-compose
. We believe that Kubernetes is the defacto standard for composing Pods and for orchestrating containers, making Kubernetes YAML a defacto standard file format. Hence, Podman allows the creation and execution of Pods from a Kubernetes YAML file (see podman-play-kube). Podman can also generate Kubernetes YAML based on a container or Pod (see podman-generate-kube), which allows for an easy transition from a local development environment to a production Kubernetes cluster.
OCI Projects Plans
The plan is to use OCI projects and best of breed libraries for different aspects:
- Runtime: runc (or any OCI compliant runtime) and OCI runtime tools to generate the spec
- Images: Image management using containers/image
- Storage: Container and image storage is managed by containers/storage
- Networking: Networking support through use of CNI
- Builds: Builds are supported via Buildah.
- Conmon: Conmon is a tool for monitoring OCI runtimes. It is part of the CRI-O package