Skip to content

Commit e190fcb

Browse files
chore: refine Dockerfile Maven URL for stability and improve caching steps
1 parent 5eb0017 commit e190fcb

File tree

1 file changed

+7
-10
lines changed

1 file changed

+7
-10
lines changed

Dockerfile

Lines changed: 7 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,12 @@
11
# ---- Estágio de Build com Java 23 ----
2-
3-
# Começamos com a imagem oficial do Java 23 (JDK completo).
42
FROM eclipse-temurin:23-jdk AS build
53

6-
# Define variáveis para a versão do Maven, para facilitar a atualização.
4+
# Define variáveis para a versão do Maven
75
ARG MAVEN_VERSION=3.9.6
8-
ARG MAVEN_URL=https://dlcdn.apache.org/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.tar.gz
6+
# CORREÇÃO: Usando um link de download mais estável do repositório de arquivos da Apache
7+
ARG MAVEN_URL=https://archive.apache.org/dist/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.tar.gz
98

10-
# Instala ferramentas necessárias (curl para download) e baixa e instala o Maven.
9+
# Instala ferramentas necessárias e baixa e instala o Maven.
1110
RUN apt-get update && \
1211
apt-get install -y curl && \
1312
curl -fsSL ${MAVEN_URL} -o /tmp/maven.tar.gz && \
@@ -19,25 +18,23 @@ RUN apt-get update && \
1918
# Define o diretório de trabalho.
2019
WORKDIR /app
2120

22-
# Copia o pom.xml e baixa as dependências (para aproveitar o cache do Docker).
21+
# Otimiza o cache do Docker baixando as dependências primeiro
2322
COPY pom.xml .
2423
RUN mvn dependency:go-offline
2524

26-
# Copia o resto do código-fonte.
25+
# Copia o código-fonte.
2726
COPY src ./src
2827

2928
# Compila e empacota a aplicação.
3029
RUN mvn package -DskipTests
3130

3231
# ---- Estágio Final (Produção) com Java 23 ----
33-
34-
# Usamos a imagem JRE (Java Runtime Environment) do Java 23, que é menor e mais segura.
3532
FROM eclipse-temurin:23-jre
3633

3734
# Define o diretório de trabalho.
3835
WORKDIR /app
3936

40-
# Copia APENAS o arquivo .jar gerado no estágio anterior.
37+
# Copia apenas o arquivo .jar gerado no estágio anterior.
4138
COPY --from=build /app/target/AiFoodAPP-0.0.1-SNAPSHOT.jar app.jar
4239

4340
# Expõe a porta da aplicação.

0 commit comments

Comments
 (0)