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

Podman新手必看:5分钟搞定容器镜像拉取与运行(附常用命令大全)

Podman极简实战:从镜像拉取到容器管理的全链路指南

刚接触容器技术的开发者们,是否曾被Docker的复杂性劝退?作为轻量级替代方案,Podman凭借无需守护进程、兼容Docker命令等特性迅速崛起。本文将用最简洁的方式,带你快速掌握Podman的核心操作链。

1. 环境准备与基础认知

在开始操作前,我们需要明确几个基本概念:容器镜像是包含应用及其依赖的静态模板,容器则是镜像的运行实例。与传统虚拟机不同,容器共享主机操作系统内核,因此启动更快、资源占用更少。

Podman的安装非常简单,主流Linux发行版通常只需一条命令:

# CentOS/RHEL sudo yum install -y podman # Ubuntu/Debian sudo apt-get update && sudo apt-get install -y podman

安装完成后验证版本:

podman --version

提示:如果遇到权限问题,可以通过sudo usermod -aG podman $(whoami)将当前用户加入podman组,之后注销重新登录即可免sudo使用。

2. 镜像操作全流程详解

2.1 镜像搜索与拉取

公共镜像仓库如Docker Hub、Red Hat Quay等存储了大量官方和社区维护的镜像。搜索Nginx镜像:

podman search nginx --filter=is-official=true

拉取官方Nginx镜像:

podman pull docker.io/library/nginx:latest

镜像拉取后,查看本地镜像列表:

podman images

输出示例:

REPOSITORY TAG IMAGE ID CREATED SIZE docker.io/library/nginx latest abc12345678 2 weeks ago 150MB

2.2 镜像管理技巧

删除不再需要的镜像可以释放磁盘空间:

podman rmi abc12345678

导出镜像到文件便于迁移:

podman save -o nginx.tar docker.io/library/nginx

从文件导入镜像:

podman load -i nginx.tar

3. 容器生命周期管理

3.1 基础运行模式

启动一个前台交互式容器:

podman run -it --name=my_nginx docker.io/library/nginx /bin/bash

后台运行容器并映射端口:

podman run -d --name=web -p 8080:80 docker.io/library/nginx

常用运行参数对比:

参数全称作用示例
-d--detach后台运行podman run -d nginx
-it--interactive --tty交互终端podman run -it centos /bin/bash
-p--publish端口映射-p 8080:80
-v--volume目录挂载-v /host/path:/container/path
--rm退出后自动删除podman run --rm alpine

3.2 容器状态管理

查看运行中的容器:

podman ps

查看所有容器(包括已停止的):

podman ps -a

停止/启动/重启容器:

podman stop web podman start web podman restart web

进入运行中的容器:

podman exec -it web /bin/bash

4. 高级实用技巧

4.1 数据持久化方案

将主机目录挂载到容器中:

podman run -d --name=nginx_with_vol -v /host/data:/usr/share/nginx/html:Z -p 8080:80 nginx

注意::Z选项用于SELinux环境下的权限标记,确保容器可以访问挂载的目录。

创建专用数据卷:

podman volume create my_volume podman run -d -v my_volume:/data --name=db redis

4.2 容器网络配置

查看网络列表:

podman network ls

创建自定义网络:

podman network create my_network

在自定义网络中运行容器:

podman run -d --name=app1 --network=my_network my_app podman run -d --name=app2 --network=my_network my_app

4.3 容器日志与监控

查看容器日志:

podman logs web

实时跟踪日志:

podman logs -f web

监控资源使用情况:

podman stats

5. 生产环境最佳实践

5.1 容器安全加固

使用非root用户运行容器:

podman run -d --name=secure_app --user=1000:1000 my_app

限制容器资源:

podman run -d --name=limited_app --memory=512m --cpus=1.5 my_app

5.2 容器编排基础

虽然Podman本身不包含编排功能,但可以与Podman Compose配合使用。安装方法:

sudo curl -L "https://github.com/containers/podman-compose/releases/latest/download/podman-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/podman-compose sudo chmod +x /usr/local/bin/podman-compose

使用示例docker-compose.yml

version: '3' services: web: image: nginx ports: - "8080:80" db: image: postgres environment: POSTGRES_PASSWORD: example

启动服务:

podman-compose up -d

在实际项目部署中,我发现将常用命令封装成Makefile可以显著提高工作效率。例如:

.PHONY: run run: podman run -d --name=app -p 3000:3000 my_app .PHONY: clean clean: podman stop app && podman rm app
http://www.jsqmd.com/news/496521/

相关文章:

  • 告别手写烦恼:开源文字转手写工具全攻略
  • macOS Mojave上VirtualBox 6.1.44安装失败的终极解决方案(含SIP关闭指南)
  • 为什么你的分类模型总是不准?可能是softmax loss没调好(附代码示例)
  • Verilog实战:8位数字比较器的3种实现方式对比(附测试代码)
  • 冷链物流自动化实战:四向穿梭车在-25℃环境下的7个特殊配置要点
  • 一键部署体验对比:SiameseAOE模型在CSDN星图GPU vs 传统自建服务器
  • Venera漫画下载管理:全场景管理与高效离线阅读指南
  • Flutter 自适应布局一套代码适配手机和平板(十二)
  • COMSOL电磁诱导透明(EIT)双谐振子耦合模型拟合:视频讲解与参考文献
  • Step3-VL-10B-Base企业级内容审核案例:高效识别违规图文信息
  • Blender建模效率翻倍:这10个高频操作快捷键你真的用对了吗?
  • BERT文本分割在软件测试报告生成中的应用:自动化缺陷描述归类
  • 快速修改qcow2镜像默认密码的三种实用方法
  • 十八、基于HC32F4A0与天空星开发板的PWM呼吸灯实战:从TimerA配置到占空比动态调节
  • 智能语音新玩法!用QWEN-AUDIO快速制作有声书、播客配音
  • RetinaFace人脸检测模型:5分钟零基础入门,一键标出人脸关键点
  • 向量点积的隐藏彩蛋:如何用Python+Matplotlib动态演示投影面积
  • 雪女-斗罗大陆-造相Z-Turbo效果展示:冰天雪女高清美图惊艳生成
  • Keil5与GME-Qwen2-VL-2B的联动:为嵌入式设备生成视觉识别固件
  • 计算机毕业设计springboot企业机器配件管理系统 基于SpringBoot的企业设备资产全生命周期管理平台 SpringBoot框架下制造型企业备品备件智能管控系统
  • 泰山派3M-RK3576开发板安装1Panel运维面板实战指南
  • 立创开源DIY:基于CA51F551单片机的雷达感应小夜灯与氛围灯摆件全解析
  • Modelsim仿真生成VCD文件全流程指南(含自动保存技巧)
  • 3个维度全面掌控游戏本性能:OmenSuperHub开源工具使用指南
  • MCP身份治理成本黑洞扫描(2026版):基于17家金融/医疗客户审计数据,定位5个隐性费用爆发点
  • 计算机毕业设计springboot运动器材销售系统的设计与实现 Spring Boot框架下体育用品在线商城的开发与实践 基于Java Web的健身装备电子商务平台设计与实现
  • StructBERT高稳定性设计解析:空文本容错+批量分块+完整日志记录
  • OmenSuperHub:惠普OMEN游戏本专属系统优化工具
  • VLC媒体播放器:3个超实用技巧让你轻松搞定媒体播放难题
  • 蓝桥杯嵌入式省赛客观题全解析:STM32考点精讲与实战避坑指南