一、基本管理
| 命令 | 说明 |
|---|
podman version | 查看 Podman 版本 |
podman info | 显示系统级信息(存储、OCI运行时等) |
podman run <image> | 创建并启动容器 |
podman ps | 列出运行中的容器 |
podman ps -a | 列出所有容器(含已停止的) |
podman start <container> | 启动容器 |
podman stop <container> | 停止容器 |
podman restart <container> | 重启容器 |
podman rm <container> | 删除容器(加 -f 强制删除运行中的) |
二、镜像操作
| 命令 | 说明 |
|---|
podman pull <image> | 拉取镜像(例: podman pull ubuntu:22.04) |
podman images | 列出本地镜像 |
podman search <term> | 搜索远程镜像(如 podman search nginx) |
podman rmi <image> | 删除镜像 |
podman build -t <name> . | 构建镜像(使用当前目录的 Dockerfile) |
podman save -o file.tar <image> | 导出镜像到文件 |
podman load -i file.tar | 从文件导入镜像 |
三、容器操作
| 命令 | 说明 |
|---|
podman exec -it <container> <cmd> | 在容器内执行命令(例: /bin/bash) |
podman logs <container> | 查看容器日志 |
podman inspect <container> | 显示容器详细信息(JSON 格式) |
podman cp <container>:<src> <dest> | 从容器复制文件到主机 |
podman commit <container> <new_image> | 将容器保存为新镜像 |
启动容器常用参数:
podman run -d \
--name mycontainer \
-p 8080:80 \
-v /host/path:/data \
-e KEY=VALUE \
--rm \
nginx
四、Pod 管理(Podman 特色)
| 命令 | 说明 |
|---|
podman pod create --name <pod_name> | 创建空 Pod |
podman run --pod <pod_name> <image> | 在 Pod 中启动容器 |
podman pod ls | 列出所有 Pod |
podman pod stop <pod> | 停止 Pod 内容器 |
podman pod rm <pod> | 删除 Pod |
podman pod inspect <pod> | 查看 Pod 详细信息 |
Pod 允许多个容器共享网络/存储命名空间(类 Kubernetes Pod)。
五、网络管理
| 命令 | 说明 |
|---|
podman network ls | 列出网络 |
podman network create <net_name> | 创建新网络 |
podman run --network=<net_name> ... | 容器加入指定网络 |
podman network inspect <net_name> | 检查网络详情 |
podman network rm <net_name> | 删除网络 |
六、卷(Volume)管理
| 命令 | 说明 |
|---|
podman volume create <vol_name> | 创建卷 |
podman volume ls | 列出卷 |
podman run -v <vol_name>:/data ... | 挂载卷到容器 |
podman volume rm <vol_name> | 删除卷 |
七、具体操作(以postgresql为例)
1. 拉取 PostgreSQL 镜像
podman pull postgres:latest
podman pull postgres:15
2. 启动 PostgreSQL 容器
podman run -d \
--name my-postgres \
-e POSTGRES_USER=myuser \
-e POSTGRES_PASSWORD=mypassword \
-e POSTGRES_DB=mydb \
-p 5432:5432 \
-v postgres-data:/var/lib/postgresql/data \
postgres:latest
参数说明:
-d:后台运行
--name:容器名称
-e:环境变量(必设用户名/密码/数据库)
-p 5432:5432:主机端口:容器端口映射
-v:数据卷持久化(如果出错的和可以把这行删了)
3. 常用管理操作
| 操作 | 命令 |
|---|
| 进入容器 | podman exec -it my-postgres bash |
| 连接数据库 | podman exec -it my-postgres psql -U myuser -d mydb |
| 查看日志 | podman logs -f my-postgres |
| 停止容器 | podman stop my-postgres |
| 启动容器 | podman start my-postgres |
| 删除容器 | podman rm -f my-postgres |
一键启动所有容器:podman start $(podman ps -aq)