어제 오늘 내일

[docker] 컨테이너 로그 확인 방법 (docker logs) 본문

IT/Docker

[docker] 컨테이너 로그 확인 방법 (docker logs)

hi.anna 2025. 10. 13. 00:48

1. docker logs 개요

실행 중인 컨테이너가 출력하는 로그를 확인하려면 docker logs 명령어를 사용합니다.
이 명령어는 컨테이너 내부 애플리케이션이 표준 출력(stdout)과 표준 에러(stderr)로 남긴 메시지를 보여줍니다.

docker attach는 실행 중인 프로세스에 직접 연결하는 반면, docker logs는 단순히 로그 출력만 확인할 때 적합합니다.

 

2. 기본 사용법

docker logs [OPTIONS] <container_id_or_name>
  • <container_id_or_name> : 로그를 확인할 컨테이너 ID 또는 이름

주요 옵션:

  • -f, --follow : 로그를 실시간으로 스트리밍
  • --tail <숫자> : 최근 N개의 로그만 출력
  • -t, --timestamps : 로그에 타임스탬프 표시

 

3. 예제: 기본 로그 확인

# 실행 중인 컨테이너 확인
docker ps

# 로그 출력
docker logs my_container

실행 결과 (예시):

Starting server on port 8080...
Connection established
GET /index.html 200

 

4. 예제: 로그 실시간 확인

docker logs -f my_container

-f 옵션을 사용하면 새로운 로그가 발생할 때마다 터미널에 계속 출력됩니다. 웹 서버나 애플리케이션 로그를 모니터링할 때 유용합니다.

 

5. 예제: 최근 로그만 확인

docker logs --tail 10 my_container

→ 최근 10줄만 출력합니다. 로그가 방대할 때 유용합니다.

 

6. 예제: 타임스탬프 표시

docker logs -t --tail 5 my_container

→ 최근 5줄의 로그와 함께 각 로그 발생 시간을 표시합니다.

출력 예시:

2025-09-21T10:00:01Z Starting server on port 8080...
2025-09-21T10:00:03Z Connection established
2025-09-21T10:00:05Z GET /index.html 200

 

7. 실습 예제

# 단순히 메시지를 반복 출력하는 컨테이너 실행
docker run -dit --name logtest alpine sh -c "while true; do echo $(date) Hello Logs; sleep 2; done"

# 로그 확인
docker logs -f --tail 5 logtest

실행 결과 (출력 예시):

Sun Sep 21 10:15:02 UTC 2025 Hello Logs
Sun Sep 21 10:15:04 UTC 2025 Hello Logs
Sun Sep 21 10:15:06 UTC 2025 Hello Logs
...

 

8. 정리

  • docker logs는 컨테이너의 표준 출력/에러 메시지를 확인하는 명령어
  • -f 옵션으로 실시간 모니터링 가능
  • --tail, -t 옵션으로 최근 로그만 보거나 타임스탬프를 함께 표시 가능
  • 단순히 로그 확인 목적이라면 docker attach보다 docker logs를 쓰는 것이 더 안전하고 편리

 

 

반응형
Comments