首页/云/Docker 容器速查/docker compose top 查看服务进程
Compose 编排55 条

docker compose top 查看服务进程

展示项目内服务容器中的进程列表(PID、命令):确认应用是否真正拉起、有没有多进程或异常守护进程。

Docker 容器速查云更新于 2026-10-13

compose top 看什么

docker compose top 展示项目内服务容器中的进程列表,包含进程号、命令等字段,用来确认应用是否真正拉起、有没有多余进程。它相当于对项目里各容器批量做一次进程查看,适合发布后快速核对运行状态。

基本信息

语法docker compose top [服务名…]
输出字段UID、PID、PPID、CPU、启动时间、TTY、累计时间、命令
对照方式docker compose exec <服务> ps aux
适用平台Compose V2
判读要点容器主进程退出后容器即结束

典型使用场景

  • 确认服务是否真正把应用进程拉起来
  • 排查应用以后台方式启动导致主进程秒退
  • 核对容器内是否存在多余进程或异常守护进程
  • 发布后快速确认进程状态符合预期
  • 与容器内 ps 对照,判断是看错视角还是确有问题

查看进程

查看进程
docker compose top                 # 查看项目内所有服务的进程
docker compose top web             # 只看某个服务
docker compose exec web ps aux     # 容器内视角的对照
docker compose ps                  # 服务与容器的对应关系

字段读法

字段含义异常线索
PID容器内进程号缺失说明应用未拉起
PPID父进程号异常父进程提示启动方式有问题
命令列命令与参数与预期不一致要核对入口
CPU 与累计时间占用与累计 CPU 时间长期为零说明进程未在推进
容器的主进程退出后容器即结束,top 看到空列表通常意味着服务已经不在运行。
应用以守护进程方式后台化后主进程会立刻退出,表现就是容器起不来,需要让进程前台运行。
服务较多时输出会按服务分组,先指定服务名缩小范围,判读更快。
与容器内 ps 对照能区分两种可能:是进程真的没起来,还是命令执行到了另一个容器里。
字段解读与宿主 ps 类似,但 PID 是容器内命名空间的编号,不要与宿主进程号混在一起看。
服务只声明了依赖但尚未启动时,top 输出里不会出现该服务,核对进程前先用 ps 子命令确认各服务的容器状态。

易错点

  • 应用后台化导致主进程退出,容器起不来,需让进程前台运行
  • 把容器内 PID 当宿主进程号去核对,会得出错误结论
  • top 显示为空就断定服务异常,实际可能是容器已结束,先看服务状态
  • 服务较多时不加过滤直接看全部输出,判读时容易看错行

数据来源与参考

  • Docker 官方 CLI 参考:docker compose top(docs.docker.com)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌