Docker File 설정
# 공식 Node.js 런타임 이미지를 부모 이미지로 사용
FROM node:lts-alpine As builder
# 작업 디렉토리를 /app으로 설정
WORKDIR /app
# package.json 및 package-lock.json을 작업 디렉토리로 복사
COPY package*.json ./
# 앱 종속성 설치
# --production, --only 등 명령어 안 먹힘
RUN npm install
# 현재 디렉토리의 모든 내용을 /app으로 복사
COPY . .
# Vue.js 앱 빌드
RUN npm run build
# Nginx를 최종 베이스 이미지로 지정
FROM nginx:stable-alpine As production
# 이전 스테이지에서 빌드된 Vue.js 앱을 복사
COPY --from=builder /app/dist /usr/share/nginx/html
# 내부 컨테이너 내의 포트 80 노출
EXPOSE 80
# 애플리케이션을 실행하는 명령어
CMD ["nginx", "-g", "daemon off;"]
PHP
복사