Docker Logs 사용법 완벽 가이드! 컨테이너 로그 확인 및 실시간 모니터링

Docker 컨테이너를 운영하다 보면 서비스가 갑자기 종료되거나, 애플리케이션에서 오류가 발생하거나, 정상적으로 실행되고 있는지 확인해야 하는 상황이 자주 발생합니다. 이때 가장 먼저 확인해야 하는 것이 바로 로그(Log)입니다.

로그에는 애플리케이션의 실행 과정, 오류 메시지, 접속 기록, 예외(Exception), 종료 원인 등이 모두 기록됩니다. 실제 운영 환경에서는 장애 분석의 대부분이 로그 확인에서 시작된다고 해도 과언이 아닙니다.

이럴 때 사용하는 명령어가 바로 docker logs입니다.

Docker Logs는 컨테이너에서 출력되는 표준 출력(Standard Output)과 표준 오류(Standard Error)를 확인하는 명령어입니다. 애플리케이션이 출력한 모든 로그를 확인할 수 있으며 실시간 모니터링도 지원합니다.

이번 글에서는 Docker Logs의 개념부터 기본 사용법, 주요 옵션, 실무 활용 사례, 장애 분석 방법, 운영 시 주의사항까지 자세히 알아보겠습니다.

Docker Logs란 무엇인가?

Docker Logs는 컨테이너에서 생성된 로그를 조회하는 명령어입니다.

컨테이너 내부 프로그램이 출력하는 로그를 그대로 확인할 수 있으며 서비스 상태와 오류 원인을 분석하는 데 매우 중요한 역할을 합니다.

특히 웹 서버, 데이터베이스, API 서버 등 대부분의 컨테이너 기반 서비스는 Docker Logs를 통해 상태를 확인합니다.

Docker Logs는 언제 사용하는가?

다음과 같은 상황에서 가장 많이 사용됩니다.

  • 컨테이너 실행 오류 확인
  • 서비스 장애 분석
  • 애플리케이션 로그 확인
  • 실시간 접속 기록 확인
  • 프로그램 종료 원인 분석
  • 배포 후 정상 동작 확인

Docker를 운영하는 관리자라면 가장 많이 사용하는 명령어 중 하나입니다.

Docker Logs 기본 사용법

기본 사용 방법은 다음과 같습니다.

docker logs <컨테이너명>

예를 들어 nginx 컨테이너의 로그를 확인하려면 다음과 같이 실행합니다.

docker logs nginx

출력 예시는 다음과 같습니다.

Starting nginx...
Listening on port 80...
Worker process started.

컨테이너가 실행된 이후 출력된 로그를 모두 확인할 수 있습니다.

실시간 로그 확인

운영 환경에서는 실시간 로그를 확인하는 경우가 많습니다.

다음 명령을 사용합니다.

docker logs -f nginx

-f 옵션은 Follow의 약자로 새로운 로그가 생성될 때마다 화면에 계속 출력합니다.

Linux의 tail -f와 비슷한 기능입니다.

최근 로그만 확인하기

로그가 매우 많은 경우 마지막 일부만 확인하는 것이 효율적입니다.

docker logs --tail 100 nginx

최근 100줄만 출력합니다.

장애 발생 직전의 로그를 확인할 때 자주 사용하는 옵션입니다.

로그와 타임스탬프 함께 보기

로그 발생 시간을 확인하려면 다음 옵션을 사용합니다.

docker logs --timestamps nginx

출력 예시는 다음과 같습니다.

2026-07-23T10:21:03Z Server Started
2026-07-23T10:22:18Z Client Connected

장애 발생 시점을 분석할 때 매우 유용합니다.

특정 시간 이후 로그 확인

최근 로그만 확인하려면 --since 옵션을 사용할 수 있습니다.

예를 들어 최근 30분 동안의 로그만 확인하려면 다음과 같이 실행합니다.

docker logs --since 30m nginx

최근 2시간은 다음과 같습니다.

docker logs --since 2h nginx

운영 환경에서 장애 발생 시간만 집중적으로 분석할 때 많이 사용합니다.

특정 시간 이전 로그 확인

특정 시점 이전 로그만 확인하려면 다음 명령을 사용합니다.

docker logs --until 1h nginx

최근 1시간 이전의 로그만 출력합니다.

긴 로그를 시간대별로 분석할 때 유용합니다.

Docker Logs 실무 활용 예제

Docker Logs는 실제 운영 환경에서 가장 많이 사용하는 Docker 명령어 중 하나입니다. 서비스 장애가 발생했을 때 가장 먼저 실행하는 명령이 Docker Logs일 정도로 문제 분석에 매우 중요한 역할을 합니다.

웹 서버 오류 확인

웹 서버가 정상적으로 실행되지 않는다면 먼저 로그를 확인합니다.

docker logs nginx

출력 예시입니다.

nginx: [emerg] bind() to 0.0.0.0:80 failed

이미 다른 프로세스가 80번 포트를 사용하고 있다는 의미입니다.

이처럼 오류 메시지를 통해 원인을 빠르게 확인할 수 있습니다.

실시간 접속 모니터링

서비스 운영 중에는 실시간 로그를 확인해야 하는 경우가 많습니다.

docker logs -f web

사용자가 접속하거나 오류가 발생할 때마다 로그가 즉시 출력됩니다.

배포 직후 서비스가 정상적으로 동작하는지 확인할 때 자주 사용하는 방법입니다.

최근 오류 로그 확인

로그가 너무 많다면 최근 로그만 확인하는 것이 효율적입니다.

docker logs --tail 50 api-server

최근 50줄만 출력되므로 오류 발생 직전 상황을 빠르게 확인할 수 있습니다.

시간 기준으로 장애 분석

오전 10시에 장애가 발생했다면 최근 1시간의 로그만 확인할 수도 있습니다.

docker logs --since 1h api-server

장애와 관련 없는 오래된 로그를 제외하고 필요한 정보만 분석할 수 있습니다.

Linux 서버 문제 해결

운영 중인 API 서버에서 사용자들이 갑자기 접속할 수 없다는 문의가 접수되었습니다.

먼저 컨테이너가 실행 중인지 확인했습니다.

docker ps

컨테이너는 정상적으로 실행되고 있었지만 서비스는 응답하지 않았습니다.

즉시 최근 로그를 확인했습니다.

docker logs --tail 100 api-server

다음과 같은 오류가 반복적으로 출력되고 있었습니다.

Error connecting to database
Connection refused

이번에는 실시간 로그를 확인했습니다.

docker logs -f api-server

데이터베이스 서버와 연결이 끊어진 것이 원인임을 확인했고, DB 서버를 복구한 후 API 서비스도 정상적으로 동작했습니다.

Docker Logs를 이용하면 대부분의 애플리케이션 오류를 빠르게 분석할 수 있습니다.

Docker Logs 사용 시 주의사항

Docker Logs를 사용할 때는 몇 가지 사항을 알아두는 것이 좋습니다.

첫 번째는 Docker Logs는 표준 출력(Standard Output)과 표준 오류(Standard Error)만 확인할 수 있다는 점입니다.

애플리케이션이 별도의 로그 파일에 기록하는 경우에는 해당 파일을 직접 확인해야 합니다.

두 번째는 로그가 너무 많으면 조회 시간이 길어질 수 있습니다.

운영 환경에서는 --tail이나 --since 옵션을 함께 사용하는 것이 효율적입니다.

세 번째는 장기간 운영하는 서버에서는 로그 용량이 매우 커질 수 있습니다.

로그 로테이션(Log Rotation)을 설정하여 디스크 공간이 부족해지는 문제를 예방하는 것이 좋습니다.

Best Practice

Docker Logs를 사용할 때는 다음과 같은 방법을 추천합니다.

  • 장애 발생 시 가장 먼저 Docker Logs를 확인합니다.
  • 실시간 모니터링에는 -f 옵션을 사용합니다.
  • 최근 로그는 --tail 옵션으로 확인합니다.
  • 장애 시간 분석에는 --since 옵션을 활용합니다.
  • 운영 서버에서는 로그 로테이션을 반드시 설정합니다.
  • Docker Inspect와 함께 사용하면 문제 원인을 더욱 빠르게 찾을 수 있습니다.

이러한 방법을 적용하면 Docker 서비스 장애를 보다 신속하게 해결할 수 있습니다.

자주 묻는 질문

Docker Logs는 실행 중인 컨테이너만 조회할 수 있나요?

아닙니다. 중지된 컨테이너의 로그도 확인할 수 있습니다.

실시간 로그를 종료하려면 어떻게 하나요?

Ctrl + C를 누르면 실시간 로그 출력이 종료됩니다.

로그를 파일로 저장할 수 있나요?

가능합니다.

다음과 같이 실행하면 로그를 파일로 저장할 수 있습니다.

docker logs nginx > nginx.log

Docker Logs와 Linux tail 명령의 차이는 무엇인가요?

Docker Logs는 Docker 컨테이너의 표준 출력 로그를 조회하는 명령입니다.

Linux의 tail은 일반 로그 파일을 읽는 명령으로 Docker 로그 파일뿐 아니라 모든 텍스트 파일에 사용할 수 있습니다.

마무리

Docker Logs는 컨테이너의 실행 상태와 오류를 확인하는 가장 기본적이면서도 중요한 명령어입니다.

서비스 장애 분석, 배포 검증, 실시간 모니터링, 오류 확인 등 거의 모든 운영 업무에서 활용되며 Docker를 사용하는 관리자라면 반드시 익혀야 하는 필수 명령어입니다.

특히 -f, --tail, --since, --timestamps 옵션을 적절히 활용하면 원하는 로그를 빠르게 확인할 수 있으며 문제 해결 시간도 크게 단축할 수 있습니다.

Docker 운영에서는 Docker Logs를 가장 먼저 확인하는 습관을 들이는 것이 안정적인 서비스 운영의 시작입니다.

댓글 남기기