diff --git a/Dockerfile b/Dockerfile index a3a6308..29f8706 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,17 +1,18 @@ -# nodejs-18-alpine 이미지를 기반으로 사용 (가볍고 효율적) -FROM node:20-alpine - -# 컨테이너의 작업 디렉터리를 설정 +# --- build stage --- +FROM node:20-alpine AS build WORKDIR /app - -# package.json과 package-lock.json을 복사 COPY package*.json ./ - -# 의존성 설치 -RUN npm install - -# 모든 소스 파일을 컨테이너로 복사 +RUN npm ci COPY . . +# 환경에 맞게: npm run build or nuxi build +RUN npm run build -# 개발 환경 실행 명령 (이 명령은 docker-compose.yml에서 덮어쓸 것임) -CMD ["npm", "run", "dev"] \ No newline at end of file +# --- run stage --- +FROM node:20-alpine +WORKDIR /app +ENV NODE_ENV=production +ENV PORT=3000 +# Nitro 출력만 복사 +COPY --from=build /app/.output ./.output +EXPOSE 3000 +CMD ["node", ".output/server/index.mjs"] \ No newline at end of file