docker-compose top用于实时查看Compose服务容器内运行的进程,类似Linux top但限于服务容器视角;支持全局或指定服务(如web)查看,需容器运行,输出为静态快照,可配合watch实现动态刷新。

docker-compose top 用于实时查看服务容器内正在运行的进程,类似 Linux 的 top 命令,但作用范围限定在 Compose 管理的服务容器中。
基本用法:查看所有服务的进程
在项目根目录(即存在 docker-compose.yml 的目录)下直接运行:
-
docker-compose top—— 列出所有正在运行的服务容器内的进程,显示 PID、USER、%CPU、%MEM、VSZ、RSS、TTY、STAT、TIME 和 COMMAND
指定服务查看进程
如果只关心某个服务(比如 web 或 redis),可加服务名过滤:
docker-compose top web-
docker-compose top redis db(支持多个服务名,空格分隔)
这样能聚焦关键服务,避免被其他服务的冗余进程干扰。
注意要点
- 容器必须处于 运行状态,否则会提示“no containers to show”
- 输出中的进程是容器内视角的,不是宿主机全局进程;例如
nginx: master process或java -jar app.jar - 不支持交互式操作(如按
P排序 CPU),仅静态快照;如需动态刷新,可配合watch命令:watch -n 2 'docker-compose top web' - 权限无特殊要求,但执行用户需有 Docker socket 访问权限(通常为
docker用户组成员)
常见配合场景
- 排查高 CPU 占用:结合
docker-compose top快速定位哪个服务里的哪个进程异常活跃 - 验证应用是否真正启动:看到
python manage.py runserver或npm start进程,比只看容器状态更可靠 - 确认多进程模型:比如 Node.js 应用是否启用了 cluster 模式(能看到多个
node进程)


















