当前位置: 首页 > backend >正文

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 imagesdocker images
运行容器podman rundocker run
查看容器podman psdocker 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 测试环境、本地开发提供了新的容器解决方案。

http://www.xdnf.cn/news/14472.html

相关文章:

  • 北斗导航 | 基于matlab的提升卫星导航单点定位精度的算法总结
  • 2022年以来大模型技术及生态发展汇总文档
  • MongoDB文档查询:从基础到进阶的探索之旅
  • 【Dify系列】【一】【安装与部署】【ubuntu22.04安装docker部署dify1.4.2】
  • 先理解软件工程,再谈AI辅助研发
  • 如何在软件公司推行狼性文化?可能存在哪些困难?
  • VSCODE + EIDE 下 STM32 编程使用部分外设无法通过编译:undefined reference to ‘xxx‘
  • 智芯协同:AI与智能硬件产业深度前瞻
  • 综述|探究深度学习在园艺研究中的应用
  • 基础知识-军品软件六性
  • MCP案例 - 数据可视化客户端
  • Python基础教学:航天工程领域的精确计算和金融领域的精确计算,分别采用的小数保留位数的方法有哪些?有什么区别?-由Deepseek产生
  • 思科基本理论
  • 高标准通信,Ethercat与CANopen网关服务制药工厂生产线实际方案
  • Qt如何生成和使用DLL动态链接库
  • 大语言模型:提示词决定自我反思效果: “检查回答是否错误” “验证回答是否正确”
  • ubuntu 22.04 安装部署logstash 7.10.0详细教程
  • NGINX Plus 管理与上报模块`ngx_mgmt_module`
  • 25年泰康保险养老社招入职统一测评(心理、认知、潜质)北森真题题库、高分攻略
  • leetcode0187. 重复的DNA序列-medium
  • 用Jmeter进行接口测试
  • sql解析,日期 trunc sysdate
  • LangChain智能体之initialize_agent开发实战深度解析
  • 【完整教程】WSL发行版迁移到D盘
  • 【Block总结】NeLU(负斜率线性单元)函数|最新激活函数|独家复现|即插即用
  • 【AI论文】Saffron-1:LLM安全保证的推理缩放范例
  • Redis 6.2.6 安装教程 - 从源码编译到配置启动(Linux环境)
  • 本地访问远程vps中的sqlite数据库中的内容之(二)使用Python和web访问远程sqlite
  • 构建esp-IDF出现的(Git仓库所有权检测)问题
  • linux thermal framework(4)_thermal governor