- 컨테이너 재시작 시 로그 소실 문제 확인 - Docker 로그 드라이버 설정으로 해결 방안 제시 - Gateway, auth-server 등 주요 서비스 적용 필요 로컬 개발자 작업 필요: - docker-compose.yml에 logging 설정 추가 - 30개 파일 로테이션으로 로그 보존
45 lines
1.3 KiB
Markdown
45 lines
1.3 KiB
Markdown
# 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 드라이버 고려 |