NextJS는 SSR 환경으로 빌드해도 React와는 다르게 파일들이 같은 구조로 반환되지 않음
root 위치에서 src 혹은 app
을 비롯한 각종 소스를 서버 환경에 업로드하고 Docker 파일을 작성해 SSR로 실행될 수 있게 해야하며 가장 중요한 Docker 파일의 내용은 다음과 같다
(본인의 경우 npm을 사용하였음)
# 빌드 단계
FROM node:18-alpine AS builder
WORKDIR /app
COPY package.json package-lock.json ./
RUN npm ci
COPY . .
RUN npm run build
# 실행 단계
FROM node:18-alpine
WORKDIR /app
COPY --from=builder /app .
RUN npm ci --only=production
EXPOSE 3000
CMD ["npm", "start"]
그 후 서버에 해당 위치에 가서 도커를 실행해주면 됨
docker-compose up -d (도커 이미지 이름) --build