Un Dockerfile es un archivo de texto con instrucciones para construir una imagen Docker — describe la imagen base, dependencias, archivos a copiar y cómo ejecutar la aplicación. Hace que las compilaciones de imágenes sean reproducibles y controlables por versión.
Un Dockerfile básico
# FROM — the base image to build on
FROM node:20-alpine
# WORKDIR — set the working directory inside the image
WORKDIR /app
# COPY dependency files first (for better layer caching)
COPY package*.json ./
# RUN — execute a command during the BUILD (install dependencies)
RUN npm install
# COPY the rest of the application code
COPY . .
# EXPOSE — document the port the app listens on
EXPOSE 3000
# CMD — the command to run when a CONTAINER starts
CMD ["node", "server.js"]
