본문 바로가기
컴퓨터과학과

docker ps와 docker compose ps

by 공부하는노년 2025. 8. 26.
반응형

docker ps와 docker compose ps


1. docker ps

  • 도커 엔진 전체에서 실행 중인 모든 컨테이너 목록을 보여줍니다.
  • 현재 어떤 Compose 프로젝트에 속해 있는지 구분하지 않고, 단순히 "컨테이너 레벨"로 나열합니다.
  • 출력 정보:
    • CONTAINER ID (랜덤 해시)
    • IMAGE (어떤 이미지 기반인지)
    • PORTS (노출된 포트)
    • NAMES (자동 생성되거나 직접 지정한 컨테이너 이름)

👉 예:

CONTAINER ID   IMAGE             PORTS                  NAMES
760b74b5d045   nginx:latest      0.0.0.0:80->80/tcp     lab_nginx
7e211fd0b669   django-mysql...   0.0.0.0:8000->8000/tcp lab_web
64e3d7873d75   mysql:8           3306/tcp               lab_db

컨테이너 단위이므로 Compose 프로젝트와 무관하게 전체 컨테이너가 나옵니다.


2. docker compose ps

  • 특정 docker-compose.yml 프로젝트 단위로 실행된 컨테이너들을 보여줍니다.
  • 즉, 현재 디렉터리(프로젝트)의 Compose 스택에 속한 서비스들만 출력합니다.
  • 출력 정보:
    • NAME (Compose 서비스 이름)
    • IMAGE
    • COMMAND (실행 명령)
    • SERVICE (compose에서 정의한 서비스명: db, web, nginx 등)
    • PORTS
    • STATUS

👉 예:

NAME        IMAGE                      SERVICE   PORTS
lab_db      mysql:8                    db        3306/tcp
lab_nginx   nginx:latest               nginx     0.0.0.0:80->80/tcp
lab_web     django-mysql-labs-web      web       0.0.0.0:8000->8000/tcp

여기서는 services: 블록에 정의된 db, web, nginx 세 개만 보입니다.


3. 핵심 차이

명령어 범위 출력 기준 주 용도
docker ps 도커 엔진 전체 컨테이너 단위 전체 컨테이너 상태 확인
docker compose ps 현재 프로젝트 서비스 단위 특정 Compose 프로젝트의 컨테이너 상태 확인

✅ 정리

  • docker ps → "시스템에 떠 있는 모든 컨테이너를 보여줘"
  • docker compose ps → "이 프로젝트(docker-compose.yml)에 정의된 서비스 컨테이너만 보여줘"

명령어 실제 상황

댓글