Unidad de software que empaqueta el código y todas sus dependencias.
Permite que una aplicación pueda ejecutarse de manera confiable en cualquier entorno, ya sea en local o en producción. Docker es la herramienta más popular.
# Dockerfile FROM node:20-alpine WORKDIR /app # Copiar dependencias primero (mejor cache) COPY package*.json ./ RUN npm ci --only=production # Copiar código COPY . . # Build RUN npm run build # Puerto EXPOSE 3000 # Comando de inicio CMD ["node", "dist/index.js"] # docker-compose.yml version: '3.8' services: app: build: . ports: - "3000:3000" environment: - DATABASE_URL=postgres://db:5432/app depends_on: - db db: image: postgres:15 volumes: - postgres_data:/var/lib/postgresql/data