feat(Dockerfile): Criação do arquivo Dockerfile
This commit is contained in:
parent
60af379e4f
commit
affa2bc213
1 changed files with 38 additions and 0 deletions
38
Dockerfile
Normal file
38
Dockerfile
Normal file
|
|
@ -0,0 +1,38 @@
|
|||
# Etapa 1: Construir a aplicação Next.js
|
||||
# Use uma imagem Node.js leve como base
|
||||
FROM node:20-alpine AS builder
|
||||
|
||||
# Defina o diretório de trabalho
|
||||
WORKDIR /app
|
||||
|
||||
# Copie o package.json e o package-lock.json (ou yarn.lock)
|
||||
COPY package*.json ./
|
||||
|
||||
# Instale as dependências do projeto
|
||||
RUN npm install
|
||||
|
||||
# Copie o restante do código fonte da aplicação
|
||||
COPY . .
|
||||
|
||||
# Construa a aplicação Next.js para produção
|
||||
RUN npm run build
|
||||
|
||||
# Etapa 2: Executar a aplicação Next.js
|
||||
# Use uma imagem Node.js mais leve para a execução
|
||||
FROM node:20-alpine AS runner
|
||||
|
||||
# Defina o diretório de trabalho
|
||||
WORKDIR /app
|
||||
|
||||
# Copie os artefatos de build da etapa anterior
|
||||
COPY --from=builder /app/.next ./.next
|
||||
COPY --from=builder /app/node_modules ./node_modules
|
||||
COPY --from=builder /app/package.json ./package.json
|
||||
COPY --from=builder /app/public ./public
|
||||
COPY --from=builder /app/.env ./.env # Copie variáveis de ambiente, se necessário
|
||||
|
||||
# Expõe a porta em que a aplicação Next.js será executada (padrão é 3000)
|
||||
EXPOSE 3000
|
||||
|
||||
# Comando para iniciar a aplicação em modo de produção
|
||||
CMD ["npm", "start"]
|
||||
Loading…
Add table
Reference in a new issue