以下是一份系统性、结构清晰、深度详尽、面向实战的《Podman 操作命令完全指南》,专为 Fedora Workstation 42 用户、Java 后端开发者设计,全面覆盖 Podman 所有核心命令,按功能模块分类组织,并与 Docker 命令逐一对比,确保你不仅“会用”,更能“理解差异、迁移无缝、安全高效”。
📘 Podman 操作命令完全指南:镜像、容器、网络、卷、日志全解析
适用对象:Fedora Workstation 42 用户、Java 后端开发者(Spring Boot、Maven、PostgreSQL)
目标:掌握 Podman 所有核心命令,实现从 Docker 到 Podman 的平滑迁移,构建安全、高效、可维护的本地开发环境
结构:按功能模块分类,每条命令含语法、作用、参数详解、实战示例、Docker 对比、开发建议
🧩 总览:Podman 命令分类体系
| 模块 | 功能 | 关键命令 |
|---|---|---|
| 1. 镜像管理 | 拉取、构建、查看、删除镜像 | podman pull, podman images, podman build, podman rmi |
| 2. 容器生命周期管理 | 创建、启动、停止、删除容器 | podman run, podman start, podman stop, podman rm, podman ps |
| 3. Pod 管理 | 创建和管理容器组(K8s Pod 模型) | podman pod create, podman pod start, podman pod rm |
| 4. 网络管理 | 创建、查看、连接网络 | podman network create, podman network ls, podman network inspect |
| 5. 数据卷管理 | 持久化存储数据(如数据库、配置) | podman volume create, podman volume ls, podman volume rm |
| 6. 日志与检查 | 查看容器日志、元数据、资源使用 | podman logs, podman inspect, podman top, podman stats |
| 7. 容器交互与调试 | 进入容器、执行命令、复制文件 | podman exec, podman cp |
| 8. 系统级管理 | 清理、信息查看、服务生成 | podman system df, podman system prune, podman generate systemd |
| 9. 镜像构建(Buildah 集成) | 使用 Buildah 构建更灵活的镜像 | buildah from, buildah run, buildah commit |
| 10. 镜像传输与安全(Skopeo 集成) | 跨仓库复制、验证签名 | skopeo copy, cosign verify |
✅ 提示:所有 Podman 命令无需 sudo(默认 rootless),除非你主动启用 rootful 模式。
1. 镜像管理(Image Management)
✅ podman images —— 列出本地镜像
podman images [OPTIONS] [REPOSITORY[:TAG]]
| 参数 | 说明 |
|---|---|
-a, --all | 显示所有镜像(包括中间层) |
-q, --quiet | 只显示镜像 ID |
--digests | 显示镜像摘要(digest) |
--no-trunc | 不截断长字段 |
📌 实战示例:
# 列出所有镜像(含中间层)
podman images -a
# 只看 PostgreSQL 镜像
podman images postgres
# 只显示 ID 和标签
podman images -q --no-trunc
🔁 Docker 对比:
docker images # 等价
docker images -a # 等价
docker images --digests # 等价
✅ 开发建议:定期清理无用镜像,节省磁盘空间。使用
podman image prune(见第8节)。
✅ podman pull —— 从远程仓库拉取镜像
podman pull [OPTIONS] IMAGE[:TAG|@DIGEST]
| 参数 | 说明 |
|---|---|
--authfile PATH | 指定认证文件(如登录私有仓库) |
--platform | 指定架构(如 linux/amd64, linux/arm64) |
--tls-verify=false | 跳过 TLS 验证(仅测试用) |
📌 实战示例(Java 开发者常用):
# 从阿里云加速拉取(推荐)
podman pull registry.aliyuncs.com/library/postgres:16
# 拉取特定架构(适用于 Apple Silicon / ARM64)
podman pull --platform linux/arm64 registry.aliyuncs.com/library/openjdk:17-jre-slim
# 拉取带 digest 的精确版本(生产推荐)
podman pull nginx@sha256:abc123...def456
🔁 Docker 对比:
docker pull postgres:16 # 等价
docker pull --platform linux/arm64 ... # 等价
✅ 开发建议:
- 始终使用
registry.aliyuncs.com替代docker.io,加速拉取。- 生产环境使用 digest(哈希值)锁定镜像版本,避免意外升级。
✅ podman build —— 使用 Dockerfile 构建镜像
podman build [OPTIONS] PATH | URL | -
| 参数 | 说明 |
|---|---|
-t, --tag | 指定镜像名称和标签 |
-f, --file | 指定 Dockerfile 路径 |
--no-cache | 不使用缓存,强制重新构建 |
--platform | 指定目标架构 |
--squash | 将所有层合并为单层(减小体积) |
📌 实战示例(Java Spring Boot 应用):
# 在项目根目录下执行(假设 Dockerfile 在当前目录)
podman build -t insurance-app:latest .
# 使用自定义 Dockerfile
podman build -f ./docker/Dockerfile.prod -t insurance-app:prod .
# 不使用缓存,强制重建(调试依赖问题时)
podman build --no-cache -t myapp:debug .
📄 示例 Dockerfile(优化版):
# 多阶段构建:构建阶段与运行阶段分离
FROM registry.aliyuncs.com/library/maven:3.9-openjdk-17 AS builder
WORKDIR /app
COPY pom.xml .
RUN mvn dependency:go-offline
COPY src ./src
RUN mvn package -DskipTests
# 运行阶段:极小镜像
FROM registry.aliyuncs.com/library/openjdk:17-jre-slim
WORKDIR /app
COPY --from=builder /app/target/app.jar app.jar
EXPOSE 8080
ENTRYPOINT ["java", "-jar", "app.jar"]
🔁 Docker 对比:
docker build -t myapp . # 完全一致
docker build --no-cache ... # 完全一致
✅ 开发建议:
- 使用多阶段构建,避免将 Maven、JDK 等构建工具打包进最终镜像。
- 优先使用
registry.aliyuncs.com基础镜像,提升构建速度。- 避免在容器内执行
mvn package—— 构建应在宿主机完成,容器仅运行。
✅ podman rmi —— 删除镜像
podman rmi [OPTIONS] IMAGE...
| 参数 | 说明 |
|---|---|
-f, --force | 强制删除(即使有容器依赖) |
📌 实战示例:
# 删除单个镜像
podman rmi insurance-app:latest
# 删除多个镜像
podman rmi postgres:16 redis:7-alpine
# 删除所有未被使用的镜像(推荐)
podman image prune
# 删除所有镜像(慎用!)
podman rmi $(podman images -q)
🔁 Docker 对比:
docker rmi myapp:latest # 等价
docker image prune # 等价
docker rmi $(docker images -aq) # 等价
✅ 开发建议:
- 每周执行
podman image prune清理无用镜像。- 使用
podman images --filter "dangling=true"查看悬空镜像(中间层)。
2. 容器生命周期管理(Container Lifecycle)
✅ podman run —— 创建并启动容器(最核心命令)
podman run [OPTIONS] IMAGE [COMMAND] [ARG...]
| 参数 | 说明 | 实战示例 |
|---|---|---|
-d, --detach | 后台运行 | podman run -d nginx |
-p, --publish | 端口映射 | -p 8080:80 |
-v, --volume | 挂载卷 | -v ./config:/app/config |
-e, --env | 设置环境变量 | -e SPRING_PROFILES_ACTIVE=dev |
--name | 指定容器名 | --name myapp |
--rm | 容器停止后自动删除 | podman run --rm alpine echo "hello" |
--network | 指定网络 | --network mynet |
--restart | 重启策略 | --restart unless-stopped |
--user | 指定用户(rootless 默认) | --user 1000 |
--platform | 指定架构 | --platform linux/arm64 |
📌 实战示例(Java 开发者典型场景):
# 启动 PostgreSQL(带持久化卷、环境变量)
podman run -d \
--name postgres \
-p 5432:5432 \
-v pgdata:/var/lib/postgresql/data \
-e POSTGRES_DB=insurance \
-e POSTGRES_USER=dev \
-e POSTGRES_PASSWORD=dev123 \
registry.aliyuncs.com/library/postgres:16
# 启动 Redis
podman run -d \
--name redis \
-p 6379:6379 \
-v redisdata:/data \
registry.aliyuncs.com/library/redis:7-alpine
# 启动 Spring Boot 应用(挂载本地 JAR)
podman run -d \
--name insurance-app \
-p 8080:8080 \
-e SPRING_PROFILES_ACTIVE=dev \
-v $HOME/myapp/target/app.jar:/app.jar \
registry.aliyuncs.com/library/openjdk:17-jre-slim \
java -jar /app.jar
# 临时运行并自动删除(测试)
podman run --rm -it alpine sh
🔁 Docker 对比:
docker run -d -p 8080:8080 ... # 完全一致
docker run --rm -it alpine sh # 完全一致
✅ 开发建议:
- 始终使用
--name,避免使用随机容器名。- 生产环境使用
--restart unless-stopped,确保服务自愈。- 避免使用
--privileged,Podman 的 rootless 模式已足够安全。
✅ podman ps —— 查看运行中的容器
podman ps [OPTIONS]
| 参数 | 说明 |
|---|---|
-a, --all | 显示所有容器(包括已停止) |
-q, --quiet | 只显示容器 ID |
--no-trunc | 显示完整 ID |
--filter | 过滤(如 status=running) |
📌 实战示例:
# 查看所有容器(含停止的)
podman ps -a
# 只看正在运行的
podman ps
# 查看特定名称的容器
podman ps --filter "name=postgres"
# 只显示 ID(用于脚本)
podman ps -q
🔁 Docker 对比:
docker ps # 等价
docker ps -a # 等价
docker ps -q # 等价
✅ podman start / podman stop / podman restart —— 控制容器状态
podman start CONTAINER...
podman stop [OPTIONS] CONTAINER...
podman restart CONTAINER...
| 参数(stop) | 说明 |
|---|---|
-t, --time | 停止前等待秒数(默认 10) |
📌 实战示例:
# 启动已停止的容器
podman start postgres
# 停止容器(等待15秒后强制杀)
podman stop -t 15 postgres
# 重启
podman restart redis
🔁 Docker 对比:
docker start postgres # 等价
docker stop -t 15 ... # 等价
docker restart redis # 等价
✅ podman rm —— 删除容器
podman rm [OPTIONS] CONTAINER...
| 参数 | 说明 |
|---|---|
-f, --force | 强制删除运行中的容器 |
📌 实战示例:
# 删除单个容器
podman rm myapp
# 删除多个
podman rm postgres redis
# 删除所有已停止的容器(推荐)
podman container prune
# 删除所有容器(慎用!)
podman rm $(podman ps -aq)
🔁 Docker 对比:
docker rm myapp # 等价
docker container prune # 等价
✅ 开发建议:
- 使用
--rm启动临时容器,避免残留。- 定期执行
podman container prune清理无用容器。
3. Pod 管理(Pod —— 容器组)
Pod 是 Podman 的核心进阶特性,模拟 Kubernetes 中的“一组共享网络的容器”,用于本地开发微服务组合。
✅ podman pod create —— 创建 Pod
podman pod create [OPTIONS] [NAME]
| 参数 | 说明 |
|---|---|
-p, --publish | 映射端口到 Pod(非容器) |
--name | 指定 Pod 名称 |
📌 实战示例:创建一个包含 Java 应用 + Nginx 的 Pod
# 创建 Pod,暴露 8080 端口
podman pod create --name myapp-pod -p 8080:8080
# 在 Pod 中启动 Java 应用
podman run -d \
--pod=myapp-pod \
--name java-app \
-v $HOME/myapp/target/app.jar:/app.jar \
registry.aliyuncs.com/library/openjdk:17-jre-slim \
java -jar /app.jar
# 在 Pod 中启动 Nginx(反向代理)
podman run -d \
--pod=myapp-pod \
--name nginx \
-v $HOME/myapp/nginx.conf:/etc/nginx/nginx.conf:Z \
registry.aliyuncs.com/library/nginx:alpine
💡 关键点:
- 所有容器共享同一个 IP、端口空间。
nginx可通过localhost:8080访问java-app,无需端口映射。
✅ podman pod start / podman pod stop / podman pod rm
podman pod start myapp-pod
podman pod stop myapp-pod
podman pod rm myapp-pod
🔁 Docker 对比:
Docker 无原生 Pod 概念,需用 docker-compose 模拟。
✅ 开发建议:
- 所有本地微服务组合(Spring Boot + Redis + Nginx + Logstash)都应放在一个 Pod 中,模拟生产环境。
- 使用
podman pod inspect myapp-pod查看网络配置。
4. 网络管理(Network Management)
✅ podman network create —— 创建自定义网络
podman network create [OPTIONS] NAME
| 参数 | 说明 |
|---|---|
--driver | 驱动类型(默认 bridge) |
--subnet | 指定子网 |
--gateway | 指定网关 |
📌 实战示例:
# 创建私有网络
podman network create myapp-net
# 启动容器加入该网络
podman run -d \
--name postgres \
--network myapp-net \
-e POSTGRES_DB=insurance \
registry.aliyuncs.com/library/postgres:16
podman run -d \
--name java-app \
--network myapp-net \
-v app.jar:/app.jar \
openjdk:17-jre-slim \
java -jar /app.jar
✅ 关键优势:
java-app可通过postgres:5432直接访问数据库,无需端口映射。- 网络隔离,避免端口冲突。
✅ podman network ls / podman network inspect
podman network ls
podman network inspect myapp-net
🔁 Docker 对比:
docker network ls # 等价
docker network inspect ... # 等价
✅ 开发建议:
- 每个项目创建独立网络,避免不同项目间服务互相干扰。
- 使用
podman network rm myapp-net清理不再使用的网络。
5. 数据卷管理(Volume Management)
卷(Volume) 是 Podman 中用于持久化数据的机制,推荐用于数据库、配置文件、日志等。
✅ podman volume create —— 创建卷
podman volume create [OPTIONS] [VOLUME_NAME]
📌 实战示例:
# 创建卷(推荐命名清晰)
podman volume create pgdata
podman volume create redisdata
podman volume create app-config
# 查看所有卷
podman volume ls
✅ 挂载卷到容器
podman run -d \
-v pgdata:/var/lib/postgresql/data \
postgres:16
✅ 关键区别:
podman volume→ Podman 管理的持久化存储(推荐)bind mount→-v /host/path:/container/path(宿主机路径挂载,用于开发调试)
📌 实战建议:
| 场景 | 推荐方式 |
|---|---|
| 数据库持久化 | podman volume create pgdata → -v pgdata:/data |
| 配置文件开发 | -v ./config:/app/config(bind mount) |
| 日志输出 | -v logs:/app/logs(volume) |
✅ podman volume rm / podman volume prune
podman volume rm pgdata
podman volume prune # 删除所有未使用的卷
🔁 Docker 对比:
docker volume create ... # 等价
docker volume prune # 等价
✅ 开发建议:
- 永远不要将数据库数据挂载到宿主机目录(权限、路径、SELinux 问题)。
- 使用命名卷,便于迁移和备份。
6. 日志与检查(Logging & Inspection)
✅ podman logs —— 查看容器日志
podman logs [OPTIONS] CONTAINER
| 参数 | 说明 |
|---|---|
-f, --follow | 实时追踪日志 |
-t, --timestamps | 显示时间戳 |
--tail N | 显示最后 N 行 |
📌 实战示例(Java 应用调试):
# 实时查看 Spring Boot 启动日志
podman logs -f insurance-app
# 查看最后 100 行带时间戳
podman logs --tail 100 --timestamps insurance-app
🔁 Docker 对比:
docker logs -f myapp # 等价
✅ 开发建议:
- 日志默认输出到
journald,也可通过journalctl -u container-insurance-app查询。- 在生产环境中,建议将日志输出到文件或集中日志系统(如 Loki)。
✅ podman inspect —— 查看容器/镜像/网络/卷的详细元数据
podman inspect [OPTIONS] NAME|ID
📌 实战示例:
# 查看容器详细信息(IP、端口、挂载、环境变量)
podman inspect insurance-app
# 查看镜像配置
podman inspect registry.aliyuncs.com/library/postgres:16
# 查看网络配置
podman inspect myapp-net
# 只提取某个字段(JSONPath)
podman inspect --format='{{.NetworkSettings.IPAddress}}' insurance-app
✅ 开发建议:
- 调试网络不通时,用
podman inspect查看容器 IP 和端口映射。- 用
jq解析 JSON(需安装):podman inspect insurance-app | jq '.[0].NetworkSettings.Ports'
✅ podman top —— 查看容器内运行的进程
podman top CONTAINER [COLUMNS...]
📌 实战示例:
# 查看 Java 应用内部进程
podman top insurance-app
# 查看特定列(PID, USER, CMD)
podman top insurance-app pid,comm,user
🔁 Docker 对比:
docker top myapp # 等价
✅ podman stats —— 实时查看容器资源使用(CPU、内存)
podman stats [OPTIONS] [CONTAINER...]
📌 实战示例:
# 实时监控 Java 应用内存
podman stats insurance-app
# 监控多个容器
podman stats postgres redis insurance-app
🔁 Docker 对比:
docker stats myapp # 等价
✅ 开发建议:
- Java 应用常因堆内存溢出导致 OOM。使用
podman stats监控内存增长趋势。- 可结合
-c 10限制刷新次数:podman stats --no-stream -c 10
7. 容器交互与调试(Execution & Copy)
✅ podman exec —— 在运行中的容器内执行命令
podman exec [OPTIONS] CONTAINER COMMAND [ARG...]
| 参数 | 说明 |
|---|---|
-it | 交互式终端 |
-u | 指定用户 |
📌 实战示例:
# 进入 PostgreSQL 容器查看数据库
podman exec -it postgres psql -U dev -d insurance
# 查看 Java 应用配置文件
podman exec insurance-app cat /app/application-dev.yml
# 在容器内安装调试工具(临时)
podman exec -it insurance-app apk add curl
⚠️ 注意:修改容器内文件是临时的,重启后丢失。仅用于调试。
🔁 Docker 对比:
docker exec -it myapp sh # 等价
✅ podman cp —— 在宿主机与容器间复制文件
podman cp [OPTIONS] CONTAINER:SRC_PATH DEST_PATH
podman cp SRC_PATH CONTAINER:DEST_PATH
📌 实战示例:
# 从容器复制日志到宿主机
podman cp insurance-app:/app/logs/app.log ./debug/app.log
# 从宿主机推送配置到容器
podman cp ./config/application.yml insurance-app:/app/config/
🔁 Docker 对比:
docker cp myapp:/app/log.txt . # 等价
✅ 开发建议:
- 用于调试时临时导出日志、配置。
- 正式部署应使用 卷挂载 或 镜像内嵌配置。
8. 系统级管理(System Management)
✅ podman system df —— 查看磁盘使用情况
podman system df
输出示例:
TYPE TOTAL ACTIVE SIZE RECLAIMABLE
Images 12 8 5.2GB 2.1GB (40%)
Containers 10 4 1.8GB 1.2GB (66%)
Local Volumes 6 4 3.4GB 1.1GB (32%)
✅ 开发建议:每月检查一次,清理无用资源。
✅ podman system prune —— 清理无用资源
podman system prune [OPTIONS]
| 参数 | 说明 |
|---|---|
-a, --all | 清理所有未使用的镜像、容器、卷、网络 |
--volumes | 清理未使用的卷 |
📌 实战示例:
# 清理所有未使用的资源(安全)
podman system prune
# 清理所有(含未使用的镜像)
podman system prune -a
# 清理卷(谨慎!)
podman system prune --volumes
🔁 Docker 对比:
docker system prune # 等价
docker system prune -a # 等价
✅ 开发建议:
- 每周执行一次
podman system prune,保持系统整洁。- 不要轻易使用
--volumes,可能删除数据库数据!
✅ podman generate systemd —— 生成 systemd 服务文件(生产级必备)
podman generate systemd --new --files --name CONTAINER
| 参数 | 说明 |
|---|---|
--new | 生成新服务(非更新) |
--files | 输出文件到当前目录 |
--name | 指定容器名 |
📌 实战示例(让 PostgreSQL 自启动):
# 生成服务文件
podman generate systemd --new --files --name postgres
# 移动到用户服务目录
mv container-postgres.service ~/.config/systemd/user/
# 启用并启动
systemctl --user daemon-reload
systemctl --user enable container-postgres
systemctl --user start container-postgres
# 查看状态
systemctl --user status container-postgres
✅ 开发建议:
- 所有中间件(PostgreSQL、Redis、MQ)都应设为 systemd 服务。
- 重启后自动恢复,无需手动启动,符合企业运维规范。
9. 镜像构建(Buildah 集成)
Podman 底层使用 Buildah 构建镜像,功能更强、更灵活。
✅ buildah from —— 创建容器(镜像层)
buildah from registry.aliyuncs.com/library/openjdk:17-jre-slim
✅ buildah run —— 在容器中执行命令
buildah run mycontainer -- mkdir /app
buildah run mycontainer -- cp /tmp/app.jar /app/
✅ buildah commit —— 提交为镜像
buildah commit mycontainer insurance-app:latest
📌 实战:脚本化构建(无 Dockerfile)
#!/bin/bash
ctr=$(buildah from registry.aliyuncs.com/library/openjdk:17-jre-slim)
buildah run $ctr -- mkdir /app
buildah copy $ctr ./target/app.jar /app/
buildah config --entrypoint '["java","-jar","/app/app.jar"]' $ctr
buildah commit $ctr insurance-app:latest
buildah rm $ctr
echo "镜像构建完成:insurance-app:latest"
✅ 优势:
- 可动态注入环境变量、条件判断。
- 不依赖 Dockerfile 语法,更像编程。
10. 镜像传输与安全(Skopeo & Cosign)
✅ skopeo copy —— 跨仓库复制镜像
skopeo copy docker://docker.io/nginx:latest docker://registry.aliyuncs.com/myrepo/nginx:latest
✅ cosign verify —— 验证镜像签名(安全合规)
# 安装 cosign
sudo dnf install -y cosign
# 验证镜像是否由可信方签名
cosign verify --key cosign.pub registry.aliyuncs.com/myapp:latest
✅ 企业级建议:
- 在团队中推行 镜像签名策略,只允许运行已签名镜像。
- 使用
cosign+rekor实现供应链透明。
✅ 总结:Podman 命令速查表(Java 开发者专属)
| 目标 | Podman 命令 | Docker 对比 |
|---|---|---|
| 拉取镜像 | podman pull registry.aliyuncs.com/library/postgres:16 | docker pull ... |
| 构建镜像 | podman build -t myapp . | docker build ... |
| 启动容器 | podman run -d --name app -p 8080:8080 ... | docker run ... |
| 启动 Pod | podman pod create --name mypod -p 8080:8080 | ❌ 无原生支持 |
| 查看容器 | podman ps -a | docker ps -a |
| 查看日志 | podman logs -f app | docker logs -f ... |
| 进入容器 | podman exec -it app sh | docker exec -it ... |
| 挂载卷 | podman run -v pgdata:/data ... | docker run -v ... |
| 创建网络 | podman network create mynet | docker network create ... |
| 清理资源 | podman system prune -a | docker system prune -a |
| 生成服务 | podman generate systemd --files --name app | ❌ 无此功能 |
| 检查元数据 | podman inspect app | docker inspect ... |
| 镜像签名 | cosign verify ... | 需 Notary(第三方) |
🎯 最终建议:你的 Podman 命令使用规范
| 场景 | 推荐做法 |
|---|---|
| 日常开发 | 使用 podman-compose 管理多服务,podman build 构建,podman logs -f 调试 |
| 数据库 | 使用 podman volume create pgdata,不使用 bind mount |
| 网络 | 每个项目创建独立 podman network create |
| 服务部署 | 使用 podman generate systemd 生成服务,systemctl --user enable |
| 镜像安全 | 使用 registry.aliyuncs.com,避免 docker.io,生产环境使用 digest |
| CI/CD | 所有脚本统一使用 podman,不写 docker |
| 团队协作 | 提供 start-dev.sh 脚本,包含 podman-compose up + systemctl --user start |
📌 附录:Podman 命令别名设置(一键兼容 Docker)
# 添加别名到 ~/.bashrc
echo "alias docker=podman" >> ~/.bashrc
echo "alias docker-compose='podman-compose'" >> ~/.bashrc
source ~/.bashrc
# 验证
docker --version # 输出 podman 版本
docker-compose up # 自动调用 podman-compose
✅ 好处:你现有的所有 Docker 脚本、CI/CD 流水线、IDE 配置,无需修改即可运行!
✅ 结语:你已掌握 Podman 命令的全部核心
你不再是“会用容器的人”,而是理解容器如何工作、如何安全运行、如何与系统集成的现代开发者。
下一步建议:
- 编写你的
start-dev.sh脚本,一键启动 PostgreSQL、Redis、Java 应用。 - 将你的 PostgreSQL 服务设为 systemd 自启动。
- 为你的 Spring Boot 应用构建一个多阶段、使用阿里云镜像、带健康检查的 Dockerfile。

被折叠的 条评论
为什么被折叠?



