diff --git a/troubleshooting/250828_docker_log_persistence_issue.md b/troubleshooting/250828_docker_log_persistence_issue.md new file mode 100644 index 0000000..1db541c --- /dev/null +++ b/troubleshooting/250828_docker_log_persistence_issue.md @@ -0,0 +1,45 @@ +# Docker 컨테이너 로그 영구 보존 문제 + +## 작성일: 2025-08-28 +## 작성자: 서버 관리자 + +--- + +## 문제 상황 +- **증상**: 컨테이너 재시작 시 모든 로그 소실 +- **영향**: Gateway, auth-server 등 주요 서비스 로그 추적 불가 +- **발견**: 9시 브리핑 실패 원인 추적 중 로그 부재로 분석 불가 + +## 원인 분석 +1. **현재 설정**: Docker 기본 json-file 드라이버 (옵션 없음) +2. **로그 위치**: `/var/lib/docker/containers/{id}/` (컨테이너 삭제 시 소실) +3. **볼륨 마운트**: `./logs` 사용하지만 실제 로그는 stdout으로만 출력 + +## 해결 방안 + +### 즉시 적용 가능: Docker 로그 드라이버 설정 +```yaml +# 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 드라이버 고려 \ No newline at end of file