MLOps/Docker

[Docker#6] 컨테이너(Container) 로그 조회

j.d 2025. 4. 29. 22:40

Docker 컨테이너를 운영하다 보면, 컨테이너가 잘 실행되고 있는지, 에러가 발생한 건 아닌지를 반드시 확인해야 합니다.
이때 필수적으로 확인해야 하는 것이 바로 로그(log) 입니다.

 

이번 글에서는 Docker 컨테이너의 로그를 조회하는 방법을 정리해보겠습니다.

 

 

컨테이너 로그 조회하기

Docker는 실행 중인 컨테이너의 출력(표준 출력 및 표준 에러)을 자동으로 저장하고, 이를 docker logs 명령어를 통해 조회할 수 있게 해줍니다.

 

특정 컨테이너의 모든 로그 조회

가장 기본적인 로그 조회 방법입니다.

# docker logs [컨테이너 ID 또는 컨테이너명]
$ docker run -d nginx
$ docker logs [Nginx 컨테이너 ID]

 

컨테이너가 실행되면서 출력한 모든 로그를 확인할 수 있습니다.

 

최근 로그 10줄만 조회하기

로그가 너무 많으면 필요한 부분만 보고 싶을 때 --tail 옵션을 사용합니다.

# docker logs --tail [줄 수] [컨테이너 ID 또는 컨테이너명]
$ docker logs --tail 10 [Nginx 컨테이너 ID]

 

가장 마지막에 찍힌 로그 10줄만 출력합니다.

 

 

실시간으로 로그 모니터링하기

컨테이너가 출력하는 로그를 실시간으로 계속 모니터링하고 싶을 때는 -f (follow) 옵션을 사용합니다.

# docker logs -f [컨테이너 ID 또는 컨테이너명]
$ docker run -d -p 80:80 nginx
$ docker logs -f [Nginx 컨테이너 ID]

 

  • -f 옵션을 통해 새로 쌓이는 로그를 실시간으로 계속 표시해줍니다.
  • 서버를 디버깅하거나, 서비스 상태를 실시간으로 확인할 때 유용합니다.

 

기존 로그 없이 새로 생성되는 로그만 실시간으로 보기

기존에 쌓인 로그는 무시하고, 이후부터 새로 발생하는 로그만 보고 싶을 때는 --tail 0 옵션과 -f를 함께 사용합니다.

# docker logs --tail 0 -f [컨테이너 ID 또는 컨테이너명]
$ docker logs --tail 0 -f [Nginx 컨테이너 ID]