# Docker 배포 가이드 이 프로젝트는 Docker를 사용하여 컨테이너화할 수 있습니다. ## 사전 요구사항 - Docker Desktop 설치 - Docker Compose 설치 (Docker Desktop에 포함됨) ## 빠른 시작 ### 1. 도커 이미지 빌드 및 실행 ```bash # 프로젝트 루트 디렉토리에서 docker-compose up --build ``` ### 2. 백그라운드에서 실행 ```bash docker-compose up -d --build ``` ### 3. 컨테이너 중지 ```bash docker-compose down ``` ## 수동 도커 명령어 ### 이미지 빌드 ```bash docker build -t nuxt-app . ``` ### 컨테이너 실행 ```bash docker run -p 3000:3000 nuxt-app ``` ### 백그라운드에서 실행 ```bash docker run -d -p 3000:3000 --name nuxt-container nuxt-app ``` ## 환경 변수 설정 필요한 경우 환경 변수를 설정할 수 있습니다: ```bash docker run -p 3000:3000 \ -e NODE_ENV=production \ -e API_URL=https://api.example.com \ nuxt-app ``` 또는 `.env` 파일을 사용: ```bash docker run -p 3000:3000 --env-file .env nuxt-app ``` ## 프로덕션 배포 ### 1. 이미지 태그 지정 ```bash docker build -t your-registry/nuxt-app:latest . ``` ### 2. 이미지 푸시 ```bash docker push your-registry/nuxt-app:latest ``` ### 3. 프로덕션 서버에서 실행 ```bash docker pull your-registry/nuxt-app:latest docker run -d -p 3000:3000 your-registry/nuxt-app:latest ``` ## 문제 해결 ### 포트 충돌 다른 포트를 사용하려면: ```bash docker run -p 8080:3000 nuxt-app ``` ### 볼륨 마운트 (개발용) 소스 코드 변경사항을 실시간으로 반영하려면: ```bash docker run -p 3000:3000 -v $(pwd):/app nuxt-app ``` ### 로그 확인 ```bash # docker-compose 사용 시 docker-compose logs # 수동 실행 시 docker logs ``` ## 보안 고려사항 - 프로덕션에서는 non-root 사용자로 실행됩니다 - 필요한 포트만 노출됩니다 - 민감한 정보는 환경 변수로 관리하세요 ## 성능 최적화 - 멀티스테이지 빌드를 사용하여 이미지 크기를 최소화했습니다 - 프로덕션 의존성만 설치합니다 - 캐시를 정리하여 이미지 크기를 줄입니다