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:
@@ -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"]
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user