编程开源技术交流,分享技术与知识

网站首页 > 开源技术 正文

在 Red Hat Linux 搭建 Podman 的完整实战教程

wxchong 2025-09-29 14:02:27 开源技术 28 ℃ 0 评论


1. 什么是 Podman

Podman 是 Red Hat 维护的一个 无守护进程(Daemonless) 容器引擎,兼容 Docker CLI,大多数 Docker 命令在 Podman 中都能直接使用。

特点:


  • 无守护进程,安全性更高
  • 支持 root / rootless 模式
  • 与 systemd 紧密结合
  • 支持 Kubernetes YAML 导出






2. 环境准备



  • 系统:Red Hat Enterprise Linux 8.x/9.x
  • 用户权限:具有 root 权限或 sudo 权限
  • 网络:可访问 Red Hat 官方镜像源






3. 安装 Podman




3.1 启用官方仓库


sudo subscription-manager register # 注册 Red Hat 订阅(若未注册)

sudo subscription-manager refresh

sudo subscription-manager repos --enable=rhel-8-server-extras-rpms


3.2 安装 Podman


sudo yum -y update

sudo yum -y install podman


3.3 验证安装


podman --version

# 输出示例: podman version 4.3.1





4. Podman 基础用法


4.1 拉取镜像


podman pull docker.io/library/nginx:latest


4.2 运行容器


podman run -d -p 8080:80 nginx:latest

访问 http://服务器IP:8080 可以看到 Nginx 首页。



4.3 查看容器


podman ps

podman ps -a


4.4 停止和删除容器


podman stop <容器ID>

podman rm <容器ID>


4.5 构建镜像


podman build -t myapp:v1 .


4.6 导出为 Kubernetes YAML


podman generate kube <容器名> > myapp.yaml





5. 配置 Rootless 模式(推荐)


sudo useradd podmanuser

sudo passwd podmanuser

su - podmanuser

podman info # 确认 rootless 已生效





6. Podman + systemd 自动启动容器



生成 systemd 单元文件并启用:

podman generate systemd --name nginx -f

mkdir -p ~/.config/systemd/user

mv container-nginx.service ~/.config/systemd/user/

systemctl --user enable container-nginx.service

systemctl --user start container-nginx.service





7. Podman 常用命令速查表


功能

命令

拉取镜像

podman pull 镜像名

运行容器

podman run -d -p 宿主端口:容器端口 镜像名

查看容器

podman ps -a

查看镜像

podman images

构建镜像

podman build -t 名称:版本 .

导出容器

podman export 容器ID > file.tar

导入容器

podman import file.tar

登录镜像仓库

podman login

推送镜像

podman push 镜像名





8. 实战案例:部署一个 Nginx + PHP-FPM 应用



创建 Pod:

podman pod create --name webpod -p 8080:80

podman run -dt --pod webpod nginx

podman run -dt --pod webpod php:7.4-fpm

在一个 Pod 内运行多个容器并共享网络,实现高效管理。





9. 总结



  • Podman 是 Docker 的无守护进程替代方案,安全性高
  • 支持 Rootless 和 Systemd 无缝集成
  • 对 Kubernetes 支持友好,可直接导出 YAML



掌握以上步骤,你就能在 Red Hat Linux 上轻松搭建 Podman,并用它进行生产部署。

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表