Back to results for “Deployment”
Next.js › Deployment

How would you containerize a Next.js application using Docker for deployment?

Intermediate

Answer

You write a Dockerfile that installs dependencies, copies your source code, runs the build command, and then defines a start command to run the production server, allowing you to deploy the exact same container image consistently across different environments like staging and production.
FROM node:20-alpine
WORKDIR /app
COPY package.json package-lock.json ./
RUN npm ci
COPY . .
RUN npm run build
EXPOSE 3000
CMD ["npm", "start"]
Real-world example A company running a Kubernetes cluster packages its Next.js app as a Docker image, ensuring the exact same tested container runs identically in staging and production environments.

Common follow-ups: What is the benefit of using a multi stage Docker build for Next.js?;How do environment variables get passed into a Docker container at runtime?