Um Dockerfile é um arquivo de texto com instruções para construir uma imagem Docker — ele descreve a imagem base, dependências, arquivos a copiar e como executar a aplicação. Torna as compilações de imagem reproduzíveis e controláveis por versão.
Um 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"]
