DOCS/troubleshooting/250828_docker_log_persistence_issue.md
happybell80 b3081174fb docs: Docker 로그 영구 보존 문제 및 해결방안 문서화
- 컨테이너 재시작 시 로그 소실 문제 확인
- Docker 로그 드라이버 설정으로 해결 방안 제시
- Gateway, auth-server 등 주요 서비스 적용 필요

로컬 개발자 작업 필요:
- docker-compose.yml에 logging 설정 추가
- 30개 파일 로테이션으로 로그 보존
2025-08-28 02:34:20 +09:00

1.3 KiB

Docker 컨테이너 로그 영구 보존 문제

작성일: 2025-08-28

작성자: 서버 관리자


문제 상황

  • 증상: 컨테이너 재시작 시 모든 로그 소실
  • 영향: Gateway, auth-server 등 주요 서비스 로그 추적 불가
  • 발견: 9시 브리핑 실패 원인 추적 중 로그 부재로 분석 불가

원인 분석

  1. 현재 설정: Docker 기본 json-file 드라이버 (옵션 없음)
  2. 로그 위치: /var/lib/docker/containers/{id}/ (컨테이너 삭제 시 소실)
  3. 볼륨 마운트: ./logs 사용하지만 실제 로그는 stdout으로만 출력

해결 방안

즉시 적용 가능: Docker 로그 드라이버 설정

# docker-compose.yml에 추가
services:
  gateway:
    logging:
      driver: "json-file"
      options:
        max-size: "10m"
        max-file: "30"  # 30개 파일 로테이션, 컨테이너 재시작해도 유지

장점

  • 권한 문제 없음 (Docker 데몬이 root로 처리)
  • 자동 로테이션
  • 컨테이너 재시작/재생성 시에도 로그 보존

적용 대상

  • robeing-gateway
  • auth-server
  • 기타 중요 서비스 컨테이너

참고

  • Docker 데몬은 root 권한으로 실행되어 로그 파일 관리
  • docker logs 명령으로 과거 로그 조회 가능
  • HDD 저장 원할 시 syslog 드라이버 고려