Dockerfile add
This commit is contained in:
parent
35e26649e0
commit
44b73f1526
2 changed files with 32 additions and 0 deletions
4
.dockerignore
Normal file
4
.dockerignore
Normal file
|
|
@ -0,0 +1,4 @@
|
||||||
|
node_modules
|
||||||
|
dist
|
||||||
|
.git
|
||||||
|
.gitignore
|
||||||
28
Dockerfile
Normal file
28
Dockerfile
Normal file
|
|
@ -0,0 +1,28 @@
|
||||||
|
# ----- ETAPA 1: Compilación (Build) -----
|
||||||
|
FROM node:20-alpine AS build
|
||||||
|
|
||||||
|
WORKDIR /app
|
||||||
|
|
||||||
|
# Copiamos solo los archivos de dependencias para aprovechar la caché de Docker
|
||||||
|
COPY package*.json ./
|
||||||
|
|
||||||
|
# Instalamos dependencias
|
||||||
|
RUN npm install
|
||||||
|
|
||||||
|
# Copiamos el resto de los archivos del proyecto
|
||||||
|
COPY . .
|
||||||
|
|
||||||
|
# Compilamos el proyecto (esto genera la carpeta /app/dist)
|
||||||
|
RUN npm run build
|
||||||
|
|
||||||
|
|
||||||
|
# ----- ETAPA 2: Servidor Web (Nginx) -----
|
||||||
|
FROM nginx:alpine
|
||||||
|
|
||||||
|
# Copiamos los archivos compilados de la etapa anterior a la carpeta pública de Nginx
|
||||||
|
COPY --from=build /app/dist /usr/share/nginx/html
|
||||||
|
|
||||||
|
# Exponemos el puerto 80 por defecto
|
||||||
|
EXPOSE 80
|
||||||
|
|
||||||
|
CMD ["nginx", "-g", "daemon off;"]
|
||||||
Loading…
Reference in a new issue