docs: auth-server 로그 분석 및 Docker 격리 원칙 추가

This commit is contained in:
happybell80 2025-07-30 00:23:07 +09:00
parent 38dd229afb
commit 94554662b7

View File

@ -143,5 +143,69 @@ sudo systemctl start nginx
- 각 단계마다 검증 - 각 단계마다 검증
- 롤백 계획 준비 - 롤백 계획 준비
## 자정 00분
### auth-server 로그 타임스탬프 이슈
**문제**: Docker 로그에 시간이 표시되지 않음
**원인 분석**:
- `docker logs` 기본 동작은 타임스탬프 미표시
- uvicorn 자체도 타임스탬프를 로그에 포함하지 않음
**해결 방법**:
```bash
# 타임스탬프 포함해서 로그 확인
docker logs auth-server --timestamps
# Gmail 로그인 시도 발견
2025-07-29T14:54:37 (23:54 KST): Gmail 로그인 시도
2025-07-29T14:55:03 (23:55 KST): OAuth 콜백 완료
```
**발견 사항**:
- IP: 172.21.0.1 (Docker 내부 네트워크)
- redirect_uri: http://localhost:5173 (개발 환경)
- 누군가 로컬 개발 환경에서 Gmail OAuth 테스트 수행
## 자정 10분
### uv 패키지 매니저 관련 오해 정리
**혼동 사항**: uvicorn(ASGI 서버)과 uv(패키지 매니저) 혼동
**명확한 차이**:
- **uvicorn**: FastAPI 앱을 실행하는 ASGI 서버
- **uv**: pip 대체 패키지 매니저 (10-100배 빠름)
**Docker와 호스트 격리 원칙**:
- 호스트에 설치된 소프트웨어는 컨테이너에서 사용 불가
- Docker의 핵심은 "격리된 환경"
- 각 컨테이너마다 필요한 소프트웨어 별도 설치 필요
**uv 활용 방안**:
```dockerfile
# Dockerfile 개선 예시
RUN pip install uv
RUN uv pip install -r requirements.txt # 훨씬 빠른 설치
```
## 추가 교훈
6. **로그 확인 시 타임스탬프**:
- Docker 로그는 `--timestamps` 옵션 필수
- 시간 기반 분석 시 중요
- nginx 로그는 기본적으로 타임스탬프 포함
7. **Docker 격리 원칙 이해**:
- 컨테이너는 호스트와 완전히 격리
- 호스트 설치 프로그램 ≠ 컨테이너에서 사용 가능
- 이식성과 일관성을 위한 설계
8. **패키지 매니저 최적화**:
- uv는 빌드 시간 단축에 효과적
- 운영 중인 서비스는 신중하게 적용
- 새 프로젝트나 큰 업데이트 시 도입 검토
--- ---
**작성 완료**: 2025-07-29 23:55 **작성 완료**: 2025-07-30 00:15