-
Notifications
You must be signed in to change notification settings - Fork 0
/
Dockerfile.prod
36 lines (25 loc) · 1.06 KB
/
Dockerfile.prod
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
# --- Estágio de Build com Node.js ---
FROM node:16 as build-stage
# Define o diretório de trabalho
WORKDIR /usr/src/api
# Copia os arquivos de configuração do Node.js (package.json e package-lock.json)
COPY package*.json ./
# Instala as dependências
RUN npm install --quiet --no-optional --no-fund --loglevel=error
# Copia o restante dos arquivos da aplicação
COPY . .
# Copia o ambiente de produção
COPY ./.env.production ./.env
# Constrói a aplicação
RUN npm run build
# --- Estágio de Produção com Nginx ---
FROM nginx:stable-alpine as production-stage
# Copia os arquivos construídos da etapa anterior para o diretório do Nginx
# Adapte o caminho /usr/src/api/build para onde sua aplicação é construída
COPY --from=build-stage /usr/src/api/build /usr/share/nginx/html
# Copia o arquivo de configuração do Nginx, se necessário
# Por exemplo, você pode ter um arquivo personalizado chamado `nginx.conf`
# COPY nginx.conf /etc/nginx/nginx.conf
# Expõe a porta 80 para o Nginx
EXPOSE 80
# Nginx inicia automaticamente, então não é necessário CMD