관리 메뉴

피터의 개발이야기

[Docker] Docker 데몬 로그 확인 방법, docker 먹통 시 해결 방법 본문

DevOps/Docker

[Docker] Docker 데몬 로그 확인 방법, docker 먹통 시 해결 방법

기록하는 백앤드개발자 2025. 3. 9. 08:18
반응형

ㅁ 들어가며

  젠킨스 빌드 중 Docker 컨테이너가 먹통이 되어서 원인을 찾고 있었다. docker logs, stop, rm -f, kill 명령어를 사용하였지만, 아무것도 통하지 않았다. 이런 경우 Docker 데몬 자체의 문제이기 때문에 데몬의 로그를 확인하여 Docker 시스템 전반의 문제을 파악하야 한다.  Docker 데몬 로그를 확인하는 방법은 운영 체제와 설정에 따라 다르다.

 

ㅁ Docker 데몬 로그 확인 방법

리눅스

journalctl -xu docker.service

ㅇ journalctl 명령어 사용하여 Docker 서비스와 관련된 로그를 확인할 수 있다.

 

OS Log Location
rocky centOS /var/log/messages
Ubuntu나 Debian /var/log/syslog

ㅇ Docker 데몬 로그 파일 경로는 /var/log/messages 또는 /var/log/syslog에서 찾을 수 있다.

 

ㅇ rocky9에서 테스트 한 것으로, 리눅스 배포판에 따라 다를 수 있다.

 

sudo tail -f /var/log/syslog | grep docker

ㅇ Ubuntu나 Debian 시스템에서 syslog나 messages 파일 확인하는 방법이다.

ㅇ 이 명령어는 syslog 파일의 마지막 부분을 실시간으로 보여주며, 'docker'라는 키워드가 포함된 줄만 필터링한다.

 

macOS

OS Log Location
dockerd logs
~/Library/Containers/com.docker.docker/Data/log/vm/dockerd.log
containerd logs
~/Library/Containers/com.docker.docker/Data/log/vm/containerd.log

ㅇ 로컬 macOS에서 실행한 모습.

 

Windows

Docker 데몬 로그의 위치는 운영 체제와 로깅 시스템에 따라 달랐다.

Operating system Location
WSL2 (dockerd logs) %LOCALAPPDATA%\Docker\log\vm\dockerd.log
WSL2 (containerd logs) %LOCALAPPDATA%\Docker\log\vm\containerd.log
일반 Windows containers Windows 이벤트 뷰어에서 Docker 관련 이벤트 로그를 확인

 

ㅁ 로그 읽기 방법

컨테이너 로그 확인

docker logs [옵션] 

ㅇ 가능하다면 기본적으로 컨테이너의 표준 출력(STDOUT) 및 오류(STDERR) 로그를 확인해야 한다.

ㅇ 옵션들

  -f: 실시간으로 로그 스트리밍
  --tail: 마지막 `` 줄만 출력
  --since: 특정 시간 이후의 로그만 출력

 

ㅁ 데몬 설정 변경 로그 레벨 조정하기

{
  "log-level": "debug"
}

ㅇ 때로는 더 자세한 로그가 필요할 수 있다. Docker 데몬의 로그 레벨을 조정하려면 /etc/docker/daemon.json 파일을 수정해야 한다.

ㅇ 로그 레벨은 "debug", "info", "warn", "error", "fatal" 중 하나로 설정

 

sudo systemctl restart docker

ㅇ 변경 후 Docker 서비스를 재시작해야 한다.

ㅇ 물론 Docker가 먹통이 되어도 재시작하면 효과가 있었다. 

 

ㅁ 마무리

 Docker 컨테이너 로그를 분석하는 방법 외에 Docker 자체에 문제가 발생하는 경우 컨테이너는 먹통이 될  수 있다. Docker데몬 로그를 확인하고 재시작하여 문제를 해결하였다. OS마다 로그의 위치와 확인 방법이 다양하였지만, 적절히 대응하는 방법을 찾아야 한다. 

 

ㅁ 함께 보면 좋은 사이트

 Docker - 데몬 로그 읽기

우분투에서 Docker 데몬의 로그를 관리하는 방법
Docker 로그 제대로 사용하기

  ㄴ Docker 로깅 드라이버 및 로그 위치

  ㄴ Docker 컨테이너 로그 크기 줄이기

 

반응형
Comments