# --- Etapa 1: Compilación (Build) --- FROM node:20-alpine AS build WORKDIR /app # Copiar package.json y package-lock.json para instalar dependencias COPY package*.json ./ RUN npm install # Copiar el resto del código fuente del frontend COPY . . # Construir la aplicación de producción RUN npm run build # --- Etapa 2: Servidor de Producción (Final) --- FROM nginx:1.25-alpine # Copiar los archivos estáticos construidos en la etapa anterior al directorio web de Nginx COPY --from=build /app/dist /usr/share/nginx/html # Exponer el puerto 80, que es el puerto por defecto de Nginx EXPOSE 80 # El comando por defecto de la imagen de Nginx se encargará de iniciar el servidor CMD ["nginx", "-g", "daemon off;"]