37 lines
823 B
Docker
37 lines
823 B
Docker
FROM node:24-alpine
|
|
|
|
WORKDIR /app
|
|
|
|
# 필요한 패키지 설치
|
|
RUN apk add --no-cache curl
|
|
|
|
# 로그 버퍼링 완전 비활성화
|
|
ENV NODE_ENV=production
|
|
ENV NODE_OPTIONS="--enable-source-maps --unhandled-rejections=strict"
|
|
ENV NODE_NO_WARNINGS=0
|
|
|
|
# stdout 버퍼링 비활성화
|
|
ENV PYTHONUNBUFFERED=1
|
|
ENV NODE_DEBUG=*
|
|
|
|
# package.json 복사
|
|
COPY package*.json ./
|
|
|
|
# 의존성 설치 (devDependencies 포함 - nest CLI 필요)
|
|
RUN npm install --include=dev
|
|
|
|
# 소스 코드 복사 (.env 포함)
|
|
COPY . .
|
|
|
|
# NestJS 빌드 (npx로 nest CLI 실행)
|
|
RUN npx nest build
|
|
|
|
# devDependencies 제거 (이미지 크기 줄이기)
|
|
RUN npm prune --production
|
|
|
|
# 포트 노출
|
|
EXPOSE 4000
|
|
|
|
# 애플리케이션 실행 (stdbuf로 버퍼링 우회)
|
|
CMD ["node", "--enable-source-maps", "--unhandled-rejections=strict", "dist/main.js"]
|