fix: Corriger Dockerfile.prod pour utiliser fast-jar Quarkus

Changements:
- Passer de uber-jar à fast-jar (format par défaut Quarkus)
- Copier le répertoire quarkus-app/ au lieu de *-runner.jar
- Corriger l'ENTRYPOINT pour pointer vers quarkus-run.jar
- Harmoniser le port 8080 (au lieu de 8081)
- Mettre à jour le health check pour le port 8080

Résout: Error "Unable to access jarfile /deployments/app.jar"

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
dahoud
2025-11-08 14:19:36 +00:00
parent 3733289b21
commit f7e2f9235e

View File

@@ -15,10 +15,8 @@ RUN mvn dependency:go-offline -B
# Copier le code source # Copier le code source
COPY src ./src COPY src ./src
# Build de l'application avec profil production # Build de l'application avec profil production (fast-jar par défaut)
RUN mvn clean package -DskipTests -B \ RUN mvn clean package -DskipTests -B
-Dquarkus.package.type=uber-jar \
-Dquarkus.profile=prod
## Stage 2 : Image de production optimisée et sécurisée ## Stage 2 : Image de production optimisée et sécurisée
FROM registry.access.redhat.com/ubi8/openjdk-17:1.18 FROM registry.access.redhat.com/ubi8/openjdk-17:1.18
@@ -28,7 +26,7 @@ ENV LANGUAGE='fr_FR:fr'
# Variables d'environnement de production # Variables d'environnement de production
# Ces valeurs peuvent être surchargées via docker-compose ou Kubernetes # Ces valeurs peuvent être surchargées via docker-compose ou Kubernetes
ENV QUARKUS_PROFILE=prod ENV QUARKUS_PROFILE=prod
ENV QUARKUS_HTTP_PORT=8081 ENV QUARKUS_HTTP_PORT=8080
ENV QUARKUS_HTTP_HOST=0.0.0.0 ENV QUARKUS_HTTP_HOST=0.0.0.0
# Configuration Keycloak/OIDC (production) # Configuration Keycloak/OIDC (production)
@@ -57,11 +55,11 @@ RUN mkdir -p /deployments /app/logs && \
# Passer à l'utilisateur non-root pour la sécurité # Passer à l'utilisateur non-root pour la sécurité
USER 185 USER 185
# Copier l'application depuis le builder # Copier l'application depuis le builder (format fast-jar Quarkus)
COPY --from=builder --chown=185 /app/target/*-runner.jar /deployments/app.jar COPY --from=builder --chown=185 /app/target/quarkus-app/ /deployments/
# Exposer le port # Exposer le port
EXPOSE 8081 EXPOSE 8080
# Variables JVM optimisées pour production avec sécurité # Variables JVM optimisées pour production avec sécurité
ENV JAVA_OPTS="-Xmx768m -Xms256m \ ENV JAVA_OPTS="-Xmx768m -Xms256m \
@@ -79,8 +77,8 @@ ENV JAVA_OPTS="-Xmx768m -Xms256m \
# Health check avec endpoints Quarkus # Health check avec endpoints Quarkus
HEALTHCHECK --interval=30s --timeout=10s --start-period=90s --retries=3 \ HEALTHCHECK --interval=30s --timeout=10s --start-period=90s --retries=3 \
CMD curl -f http://localhost:8081/q/health/ready || exit 1 CMD curl -f http://localhost:8080/q/health/ready || exit 1
# Point d'entrée avec profil production # Point d'entrée avec profil production (format fast-jar)
ENTRYPOINT ["sh", "-c", "exec java $JAVA_OPTS -jar /deployments/app.jar"] ENTRYPOINT ["sh", "-c", "exec java $JAVA_OPTS -jar /deployments/quarkus-run.jar"]