29 lines
649 B
Docker
29 lines
649 B
Docker
# Step 1: Use Node.js official image as base
|
|
FROM node:18-alpine AS base
|
|
|
|
# Step 2: Set working directory inside container
|
|
WORKDIR /app
|
|
|
|
# Step 3: Copy package.json and package-lock.json to container
|
|
COPY package*.json ./
|
|
|
|
# Step 4: Install dependencies
|
|
RUN npm install --frozen-lockfile
|
|
|
|
# Step 5: Copy the rest of the app files to container
|
|
COPY . .
|
|
|
|
# Step 6: Build the Next.js application
|
|
RUN npm run build
|
|
|
|
# Step 7: Expose the port that the Next.js app will run on
|
|
EXPOSE 3000
|
|
EXPOSE 2368
|
|
|
|
# Step 8: Set environment variable for production
|
|
ENV NODE_ENV=production
|
|
|
|
# Step 9: Run the application using 'next start'
|
|
CMD ["npm", "run", "start"]
|
|
|