From b3081174fbefeb42927edad13299e19358a7ddbd Mon Sep 17 00:00:00 2001 From: happybell80 Date: Thu, 28 Aug 2025 02:34:20 +0900 Subject: [PATCH] =?UTF-8?q?docs:=20Docker=20=EB=A1=9C=EA=B7=B8=20=EC=98=81?= =?UTF-8?q?=EA=B5=AC=20=EB=B3=B4=EC=A1=B4=20=EB=AC=B8=EC=A0=9C=20=EB=B0=8F?= =?UTF-8?q?=20=ED=95=B4=EA=B2=B0=EB=B0=A9=EC=95=88=20=EB=AC=B8=EC=84=9C?= =?UTF-8?q?=ED=99=94?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 컨테이너 재시작 시 로그 소실 문제 확인 - Docker 로그 드라이버 설정으로 해결 방안 제시 - Gateway, auth-server 등 주요 서비스 적용 필요 로컬 개발자 작업 필요: - docker-compose.yml에 logging 설정 추가 - 30개 파일 로테이션으로 로그 보존 --- .../250828_docker_log_persistence_issue.md | 45 +++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 troubleshooting/250828_docker_log_persistence_issue.md 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