-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathDockerfile
More file actions
33 lines (23 loc) · 1.01 KB
/
Dockerfile
File metadata and controls
33 lines (23 loc) · 1.01 KB
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
# Etapa 1: Etapa de Construcción - Usa una imagen base con Maven y JDK 25
FROM maven:3.9-eclipse-temurin-25 AS builder
# Establece el directorio de trabajo
WORKDIR /app
# Copia el archivo pom.xml para descargar las dependencias
COPY pom.xml .
# Descarga las dependencias de Maven para aprovechar el cache de Docker
RUN mvn dependency:go-offline
# Copia el resto del código fuente
COPY src ./src
# Compila la aplicación, omitiendo los tests
RUN mvn package -DskipTests
# Etapa 2: Etapa de Ejecución - Usa una imagen base más ligera solo con el JRE
FROM eclipse-temurin:25-jre-jammy
# Establece el directorio de trabajo
WORKDIR /app
# Copia el archivo JAR desde la etapa de construcción
# El nombre del JAR se basa en el artifactId y la versión del pom.xml
COPY --from=builder /app/target/videogame-library-analytics-0.0.1-SNAPSHOT.jar .
# Expone el puerto en el que se ejecuta la aplicación
EXPOSE 8081
# Comando para ejecutar la aplicación
ENTRYPOINT ["java", "-jar", "videogame-library-analytics-0.0.1-SNAPSHOT.jar"]