From affa2bc2139f3213b16b2a44ed212f7082d88050 Mon Sep 17 00:00:00 2001 From: Kenio de Souza Date: Fri, 12 Sep 2025 12:44:28 -0300 Subject: [PATCH] =?UTF-8?q?feat(Dockerfile):=20Cria=C3=A7=C3=A3o=20do=20ar?= =?UTF-8?q?quivo=20Dockerfile?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Dockerfile | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 Dockerfile diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..bbaca32 --- /dev/null +++ b/Dockerfile @@ -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"] \ No newline at end of file