Un Dockerfile è un file di testo con istruzioni per costruire un'immagine Docker — descrive l'immagine base, le dipendenze, i file da copiare e come eseguire l'applicazione. Rende i build delle immagini riproducibili e controllabili in versione.
Un Dockerfile di base
# 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"]
