podman是无需守护进程、支持无根运行的主流容器引擎,提供五种安装方式:系统包管理器安装、container-tools模块启用、源码编译、离线rpm安装及基础验证与镜像加速配置。

如果您希望在Linux系统上部署一个无需守护进程、支持无根运行的容器引擎以替代Docker,则Podman是符合该需求的主流选择。以下是针对不同场景和发行版的多种安装方法:
一、使用系统包管理器安装
此方法适用于大多数现代Linux发行版,操作简洁、依赖自动处理,适合快速部署标准版本Podman。
1、在Fedora或RHEL 8+系统上执行:sudo dnf install podman
2、在CentOS 7/8或RHEL 7系统上执行:sudo yum install -y podman
3、在Debian 11+或Ubuntu 20.04+系统上执行:sudo apt update && sudo apt install -y podman
4、验证安装结果:podman --version
二、启用并安装container-tools模块(RHEL/CentOS 8+专属)
该方式通过模块化仓库安装Podman及其生态工具(如Buildah、Skopeo),同时适配SELinux策略,适合生产环境标准化部署。
1、列出可用模块:dnf module list container-tools
2、启用最新稳定流(例如ol8或stream-4.0):sudo dnf module enable container-tools:ol8
3、安装模块全套组件:sudo dnf module install container-tools:ol8
4、确认container-selinux已就绪:rpm -q container-selinux
三、手动编译安装(适用于定制内核或老旧系统)
当系统包源中Podman版本过低或缺失时,可通过源码构建获取最新功能与安全补丁,适用于对版本有强依赖的场景。
1、安装构建依赖:sudo dnf groupinstall "Development Tools" && sudo dnf install -y btrfs-progs-devel device-mapper-devel glib2-devel go git runc
2、设置Go环境变量:export GOPATH=$HOME/go && export PATH=$PATH:$GOPATH/bin
3、克隆官方仓库并检出目标版本:git clone https://github.com/containers/podman.git $GOPATH/src/github.com/containers/podman && cd $GOPATH/src/github.com/containers/podman && git checkout v4.8.3
4、执行构建与安装:make && sudo make install
四、离线RPM包安装(适用于无外网访问的封闭环境)
该方案通过预下载RPM包及依赖,在隔离网络中完成部署,确保环境一致性与可审计性。
1、在联网机器上下载完整依赖链:yumdownloader --resolve --destdir ./podman-rpms podman
2、将整个podman-rpms/目录复制至目标主机
3、安装所有RPM包:sudo rpm -Uvh podman-rpms/*.rpm
4、强制重建RPM数据库并校验:sudo rpm --rebuilddb && rpm -V podman
五、验证基础功能与配置镜像加速
安装完成后需验证容器运行能力,并配置国内镜像源以提升拉取效率,避免因网络问题导致初始化失败。
1、拉取测试镜像:podman pull docker.io/library/alpine:latest
2、运行最小化容器:podman run --rm alpine:latest echo "Podman is working"
3、创建或编辑全局镜像配置文件:sudo tee /etc/containers/registries.conf
4、写入阿里云镜像加速配置:unqualified-search-registries = ["docker.io"] [[registry]] prefix = "docker.io" location = "xxxxxx.mirror.aliyuncs.com" insecure = true EOF











