docker ps 与 docker compose ps 的区别
所属分类 docker
浏览量 5
docker ps 看全局所有容器;
docker compose ps 只看当前项目的容器。
一、作用范围不同
docker ps
列出宿主机上所有容器(不管是不是 Compose 启动的)。
# 所有运行中容器
docker ps
# 所有容器(含停止)
docker ps -a
docker compose ps
仅列出当前目录下 docker-compose.yml 定义的项目容器。
# 先进入 Compose 项目目录
cd /path/to/your/compose/project
# 只看本项目容器
docker compose ps
# 含停止容器
docker compose ps -a
二、输出内容不同
docker ps 标准字段:
CONTAINER ID、IMAGE、COMMAND、CREATED、STATUS、PORTS、NAMES
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
a1b2c3d4e5f6 nginx:alpine "nginx -g" 2 minutes ago Up 2 minutes 80/tcp my-nginx
docker compose ps
多一个 SERVICE 字段(对应 compose.yml 里的服务名),默认隐藏容器 ID。
NAME SERVICE STATUS PORTS
myapp-web-1 web Up 2 minutes 0.0.0.0:80->80/tcp
myapp-db-1 db Up 2 minutes 3306/tcp
三、使用场景不同
docker ps
全局排查:看宿主机上所有容器状态。
查非 Compose 容器:比如用 docker run 启动的容器。
取容器 ID:用于 docker exec、docker inspect 等。
docker compose ps
项目内管理:只关心当前 Compose 项目的容器。
服务视角:直接看到容器对应哪个服务(web/db/redis)。
多项目隔离:服务器跑多个 Compose 项目时,互不干扰。
四、关键区别总结表
维度/docker ps/docker compose ps
范围 全局所有容器 当前 Compose 项目容器
依赖目录 任意目录 必须在 compose.yml 所在目录
关键字段 容器 ID、镜像名 服务名(SERVICE)
典型用途 全局排查、取容器ID 项目内服务状态查看
五、常用搭配
全局查所有 Compose 容器(用 label 过滤):
docker ps -f label=com.docker.compose.project
查特定 Compose 项目的容器:
docker ps -f label=com.docker.compose.project=项目名
上一篇
下一篇
《人类简史》时间线
《人类简史》核心观点
查看容器应用 docker compose配置文件地址
Docker & Docker Compose 常用命令速查表