Dockerfile 설정
# lts-alpine 버전으로 노드 이미지 설정 - 별칭은 development
FROM node:lts-alpine As development
# 작업디렉터리 설정
WORKDIR /app
# package*.json 파일들을 복사
COPY package*.json ./
# develop이미지에 package 설치
RUN npm install --only=development
# 모든파일 복사
COPY . .
# 빌드
RUN npm run build
# lts-alpine 버전으로 노드 이미지 설정 - 별칭은 production
FROM node:lts-alpine as production
# 변수선언 -> 환경변수설정
ARG NODE_ENV=production
ENV NODE_ENV=${NODE_ENV}
# production의 작업디렉터리 설정
WORKDIR /app
# production에서 package*.json 파일들을 복사
COPY package*.json ./
# production이미지에 package 설치
RUN npm install --only=production
# 모든파일 복사
COPY . .
# development의 /app/dist의 파일들을 /dist에 추가
COPY --from=development /app/dist ./dist
# 3000번 내부포트로 내보내기
EXPOSE 3000
# node 실행
CMD ["node", "dist/main"]
PHP
복사