25 lines
		
	
	
		
			722 B
		
	
	
	
		
			Docker
		
	
	
	
	
	
		
		
			
		
	
	
			25 lines
		
	
	
		
			722 B
		
	
	
	
		
			Docker
		
	
	
	
	
	
|  | # --- 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;"]
 |