stamper

Docker Compose 컨테이너 로그 확인·재시작 명령어 모음

stamper2026. 8. 10.조회 21추천 0

언제 사용하나

docker compose up으로 띄운 서비스가 죽거나 응답이 없을 때, 로그를 보고 필요한 만큼만 재시작하고 싶을 때.

1. 지금 무엇이 떠 있는지 확인

docker compose ps

# 종료된 컨테이너까지 포함
docker compose ps -a

STATUSRestarting이면 컨테이너가 계속 죽고 다시 뜨는 상태다. 로그부터 본다.

2. 로그 확인

# 전체 서비스 로그 실시간
docker compose logs -f

# 특정 서비스만
docker compose logs -f api

# 최근 200줄만 (긴 로그 다 안 뜨게)
docker compose logs --tail 200 api

# 시간 표시 + 최근 10분치
docker compose logs -t --since 10m api

여러 서비스를 한 번에 보려면 이름을 나열한다.

docker compose logs -f api worker

3. 재시작 (범위별로 골라 쓰기)

# 프로세스만 재시작. 설정/이미지 변경은 반영되지 않음
docker compose restart api

# 컨테이너를 다시 만들어서 올림. compose 파일/환경변수 변경 반영
docker compose up -d api

# 이미지까지 다시 빌드해서 올림. 코드 변경 반영
docker compose up -d --build api

# 강제로 컨테이너 재생성
docker compose up -d --force-recreate api

기준: 프로세스만 껐다 켜기 → restart, compose 설정 바뀜 → up -d, 코드/Dockerfile 바뀜 → up -d --build.

4. 안 뜰 때 안으로 들어가 보기

# 실행 중인 컨테이너에 셸 접속
docker compose exec api sh

# 컨테이너가 계속 죽어서 exec이 안 될 때: 일회성 컨테이너로 실행
docker compose run --rm api sh

5. 환경변수와 설정 확인

# 최종적으로 적용된 compose 설정 확인 (변수 치환 결과 포함)
docker compose config

# 컨테이너 안의 환경변수 확인
docker compose exec api env

6. 정리

# 컨테이너/네트워크 정리 (볼륨은 유지)
docker compose down

# 볼륨까지 삭제 — DB 데이터가 날아간다
docker compose down -v

주의사항

  • docker compose down -v는 named volume을 지운다. 로컬 DB 데이터가 사라지므로 습관적으로 붙이지 않는다.
  • restart는 이미지와 compose 설정을 다시 읽지 않는다. "고쳤는데 반영이 안 된다"의 대부분이 이 경우다.
  • logs -f만으로는 원인이 안 보일 때가 많다. docker compose ps -a로 종료 코드를 먼저 확인한다.

활용 팁

  • 로그를 파일로 남겨 두면 재시작 후에도 비교할 수 있다.
    docker compose logs --no-color --tail 1000 api > /tmp/api.log
  • Compose v1(docker-compose)을 쓰는 환경이라면 위 명령의 docker composedocker-compose로 바꿔서 실행한다.

댓글 0

아직 댓글이 없습니다.