文档说明:
- 实验用 OS 版本:
- CentOS 7.9、RHEL 8.0、RHEL 8.2、Ubuntu 20.04.3 LTS
- 实验用 kernel 版本:
- 3.10.0-1160.41.1.el7.x86_64
- 4.18.0-193.el8.x86_64
- 5.14.0-1.el7.elrepo.x86_64
- 实验用 Podman 版本:1.6.4、3.2.3、3.3.1
- 实验用 podman-compose 版本:0.1.8
- 若未做特殊说明,以下示例均于
RHEL 8.2
(4.18.0-193.el8.x86_64
)上执行,Podman 版本为3.2.3
。 - 该文档中未涉及 podman 命令的基础使用方法。
文档目录:
- Podman 的特性概述
- Podman 版本兼容性比较
- Podman 的扩展功能
- Podman 在不同 OS 版本中的安装
- Podman 的网络实现原理(rootfull 与 rootless)
- Podman rootless 容器用户映射实现方式
- Podman 的 macvlan 网络实现
- podman 与 podman-compose 使用示例
- Podman 使用报错示例
- Podman 有待测试功能
- 参考链接
Podman 的特性概述:
- LXC、
LXD
(Go 语言开发)、systemd-nspawn
均可作为 Linux 容器,但缺少容器跨主机运行与应用打包的能力。 - Docker 与 Podman 可使用容器镜像实现应用打包发布,快速且轻量。
- Docker 与 Podman 都使用
runC
(Go 语言开发)作为底层oci-runtime
。 - Docker 与 Podman 都支持
OCI Image Format
(Go 语言开发),都能使用 DockerHub 上的容器镜像,而 systemd-nspawn 无法使用它们的镜像。 -