Podman 安装与运行 Nginx 容器完整指南(含访问验证)
无需 Docker Daemon,体验 Rootless 容器运行新时代!
文章目录
一、什么是 Podman?
二、安装 Podman(以 Ubuntu 为例)
三、验证 Podman 环境
四、使用 Podman 拉取并运行 Nginx 容器
1. 拉取官方镜像
2. 启动 Nginx 容器并映射端口
五、验证 Nginx 容器是否运行
查看容器状态
使用浏览器访问 Nginx
六、常用 Podman 命令(对比 Docker)
七、额外进阶推荐
常见问题 FAQ
总结
一、什么是 Podman?
Podman(Pod Manager) 是一个开源的无守护进程(daemonless)容器引擎,兼容 Docker CLI,大部分命令可直接替换 Docker 使用。
相比 Docker,Podman 具有:
-
无守护进程、无需 root 权限
-
安全性更高
-
原生支持 Pod 概念(类似 Kubernetes)
-
OCI 标准支持
二、安装 Podman(以 Ubuntu 为例)
# 更新源
sudo apt update# 安装 podman
sudo apt install -y podman# 查看版本
podman --version
若系统为 CentOS/RHEL 可使用:
sudo yum -y install podman
三、验证 Podman 环境
# 测试运行 hello-world 容器
podman run --rm docker.io/library/hello-world
输出如下表示成功:
Hello from Docker!
This message shows that your installation appears to be working correctly.
四、使用 Podman 拉取并运行 Nginx 容器
1. 拉取官方镜像
podman pull docker.io/library/nginx
如果你在国内网络环境中遇到拉取超时问题,可使用国内镜像:
# 使用阿里云源
podman pull registry.aliyuncs.com/google_containers/nginx
2. 启动 Nginx 容器并映射端口
podman run -d --name mynginx -p 8080:80 nginx
说明:
-
-d
: 后台运行容器 -
--name
: 指定容器名称 -
-p 8080:80
: 将主机的 8080 端口映射到容器内的 80 端口(Nginx 默认监听)
五、验证 Nginx 容器是否运行
查看容器状态
podman ps
输出类似:
使用浏览器访问 Nginx
打开浏览器,访问:
http://localhost:8080
或在服务器上使用 curl
:
curl http://localhost:8080
应返回默认的 Nginx 欢迎页 HTML 内容。
六、常用 Podman 命令(对比 Docker)
操作 | Podman 命令 | Docker 命令 |
---|---|---|
查看镜像 | podman images | docker images |
运行容器 | podman run | docker run |
查看容器 | podman ps | docker ps |
删除容器 | podman rm [容器ID] | docker rm |
删除镜像 | podman rmi [镜像ID] | docker rmi |
停止容器 | podman stop [容器名] | docker stop |
七、额外进阶推荐
-
安装 Podman Compose 管理多个容器
-
Rootless 模式部署(
loginctl enable-linger
) -
与 systemd 集成,实现容器自动重启
-
结合 Buildah 构建镜像并推送至私有仓库
常见问题 FAQ
问题 | 解决方法 |
---|---|
拉取镜像失败 | 检查网络或配置国内镜像源 |
端口访问不了 | 确保防火墙允许端口(如 8080) |
权限问题 | 使用 sudo 或配置 rootless 模式 |
总结
使用 Podman 部署 Nginx 的优势在于:
-
无需 Docker 守护进程
-
更高的安全性(支持无 root 权限运行)
-
操作体验几乎等同于 Docker
这为运维自动化、Kubernetes 测试环境、本地开发提供了新的容器解决方案。