Try Docker 1811
This commit is contained in:
		
							
								
								
									
										30
									
								
								frontend/Dockerfile
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										30
									
								
								frontend/Dockerfile
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,30 @@ | ||||
| # Etapa 1: Construcción de la aplicación React | ||||
| # Usamos una imagen de Node.js (versión Alpine por ser ligera) | ||||
| FROM node:20-alpine AS build | ||||
| WORKDIR /app | ||||
|  | ||||
| # Copiamos package.json y package-lock.json para instalar dependencias | ||||
| COPY package*.json ./ | ||||
| RUN npm install | ||||
|  | ||||
| # Copiamos el resto de los archivos del frontend | ||||
| COPY . . | ||||
| # Construimos la aplicación para producción. Los archivos resultantes irán a /app/dist | ||||
| RUN npm run build | ||||
|  | ||||
| # Etapa 2: Servidor Nginx | ||||
| # Usamos la imagen oficial de Nginx (versión Alpine por ser ligera) | ||||
| FROM nginx:stable-alpine | ||||
| WORKDIR /usr/share/nginx/html | ||||
|  | ||||
| # Eliminamos el contenido por defecto de Nginx | ||||
| RUN rm -rf ./* | ||||
|  | ||||
| # Copiamos los archivos estáticos construidos en la etapa anterior | ||||
| COPY --from=build /app/dist . | ||||
|  | ||||
| # Exponemos el puerto 80, que es el puerto por defecto de Nginx | ||||
| EXPOSE 80 | ||||
|  | ||||
| # El comando por defecto de la imagen de Nginx es suficiente para iniciar el servidor | ||||
| # CMD ["nginx", "-g", "daemon off;"] | ||||
		Reference in New Issue
	
	Block a user