# 기능 추가: Docker 및 Docker Compose 배포 지원 ## 1. 개요 (변경 내용) - 사용자들의 요청에 따라 서버를 컨테이너 환경에서 간편하게 배포할 수 있도록 Docker 지원 기능을 추가함. - 사용자가 선호하는 네이티브(Native) 실행 방식과 도커(Docker) 방식을 동시에 지원하는 하이브리드 구조를 채택함. ## 2. 조치 사항 - **Dockerfile 생성**: Python 3.10-slim 이미지를 기반으로 서버 실행 환경 구축. - **docker-compose.yml 생성**: - DB(`data/`), 업로드 파일(`static/uploads/`), 로그(`logs/`), 설정(`config.json`) 볼륨 매핑을 통해 데이터 영속성 확보. - `.env` 파일 주입 설정 추가. - **.dockerignore 추가**: 불필요한 파일(DB, 로그, pycache 등)을 빌드 대상에서 제외하여 이미지 경량화 및 보안 강화. - **README.md 가이드 개편**: - 설치 방법을 '네이티브'와 '도커' 섹션으로 분리하여 가독성 개선. - 사용자가 선호하는 네이티브 방식을 최상단(방법 1)에 유지함. ## 3. 결과 및 검증 - Docker 빌드 컨텍스트 구성 확인. - 볼륨 매핑을 통해 호스트와 컨테이너 간의 데이터 동기화 구조 설계 완료. - 네이티브 실행 로직에 영향을 주지 않으므로 하이브리드 지원이 정상적으로 작동함. ## 4. 향후 주의 사항 - 도커로 실행할 경우 호스트의 파일 권한(Permission) 문제로 인해 볼륨 마운트된 디렉토리에 쓰기 권한이 필요할 수 있음. - `requirements.txt`가 업데이트될 경우 Docker 이미지를 다시 빌드(`docker-compose build`)해야 함.