docs: Docker 로그 영구 보존 문제 및 해결방안 문서화

- 컨테이너 재시작 시 로그 소실 문제 확인
- Docker 로그 드라이버 설정으로 해결 방안 제시
- Gateway, auth-server 등 주요 서비스 적용 필요

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

View File

@ -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 드라이버 고려