Jul 22, 2022·Docker

How to make a Docker image for your NextJS project

What impulse this post of being writen in spanish is the idea of there is no information in spanish about this in particular

Antes que nada eh de aclarar que este post está basado

El objetivo de este post es entender lo que sucede específicamente en los archivos de Docker definidos ahí:

  • Dockerfile
  • Dockerfile.production
  • docker-compose.yml
  • docker-compose.production.yml

Para esto también voy a hacer un repositorio cuyo link va a estar aquí.

Primero, lo que debemos comprender es el "flujo de vida" de nuestros contenedores dentro de nuestra infraestructura. No es lo mismo un contenedor que se va a utilizar para desarrollo que un contenedor que va a ser montado por un Kubernetes.

En este caso ambos casos van a ser cubiertos, pero con claras diferencias.

#La imágen base
FROM node:16-alpine
# Crea un directorio para nuesta aplicación
WORKDIR /app
# Copia el package.json y el package-lock.json dentro del directorio de
# nuestro container
COPY package*.json ./
RUN npm set strict-ssl false && npm install
COPY next.config.js ./next.config.js
COPY pages ./pages
COPY public ./public
COPY styles ./styles
COPY components ./components
# If you are building your code for production
# RUN npm ci --only=production
# Bundle app source
# COPY . .
EXPOSE 3000
CMD [ "yarn", "dev" ]

Fuentes y links interesantes: