3 votes

Mon Dockerfile ne peut pas accéder au fichier jar.

Je suis vraiment un débutant en Java et Docker, alors allez-y doucement. J'essaye de construire deux microservices qui communiquent et de les exécuter dans le docker compose mais il renvoie cette erreur :

Impossible d'accéder au fichier jar hello-consumer-microservice-message-1.0-snapshot.jar.

Voici mon fichier docker :

FROM alpine-jdk:base
WORKDIR ./files
EXPOSE 8081
CMD ["java", "-jar", "hello-consumer-microservice-message-1.0-SNAPSHOT.jar"]

J'ai essayé d'alterner les CMD avec ENTRYPOINT mais sans succès, alors, quelqu'un peut-il m'aider ?

P.S : Si vous avez de bonnes lectures sur ces sujets, vous pouvez aussi les mettre en lien dans les réponses, je veux vraiment améliorer mes compétences !

1voto

Markoorn Points 1163

Vous pouvez utiliser soit COPY o ADD pour inclure des fichiers dans une image - pour plus de détails, voir : https://medium.freecodecamp.org/dockerfile-copy-vs-add-key-differences-and-best-practices-9570c4592e9e

Dans votre cas, vous pouvez simplement ajouter la ligne ADD hello-consumer-microservice-message-1.0-SNAPSHOT.jar app.jar

puis changez votre CMD à :

CMD ["java", "-jar", "app.jar"]

J'ai ADD ed le bocal avec le nom app.jar pour une meilleure lisibilité.

Votre fichier Docker final ressemblera donc à ceci :

FROM alpine-jdk:base
WORKDIR ./files
EXPOSE 8081
ADD hello-consumer-microservice-message-1.0-SNAPSHOT.jar app.jar
CMD ["java", "-jar", "app.jar"]

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X