2017-09-28 1 views
2

Je vais avoir un répertoire qui contient un Dockerfile et un fichier JAR foo.jar.Dockerfile exécutable exécutable

Dans le Dockerfile j'ai écrit ce qui suit:

FROM java:8 
EXPOSE 8080 
ENTRYPOINT ["java","-jar","foo.jar"] 

Je construis l'image avec succès en exécutant

docker build -t foo-example .

Alors je tente de l'exécuter en exécutant

docker run -ti --rm -p 8080:8080 foo-example

et que je reçois cette erreur:

Error: Unable to access jarfile foo.jar

Toutes les idées?

+0

simplement placer le fichier jar dans le même répertoire que le dockerfile ne placerai pas le fichier jar dans l'image docker. Vous devez utiliser la commande ADD dans votre dockerfile. – f1sh

+0

en effet, je ne l'avais pas bien compris, j'ai ajouté le fichier jar à l'image du docker et maintenant ça marche bien, merci! – luthien

+0

@luthien ce serait bien que vous acceptiez la réponse qui vous a aidé. –

Répondre

3

Vous devez indiquer foo.jar dans le conteneur, par ex. copiez-le à l'intérieur et assurez-vous de spécifier l'emplacement exact lors de l'exécution. Lire les documents docker à propos de la commande ADD.

Fondamentalement, vous avez besoin d'ajouter quelque chose le long de ces lignes:

ADD foo.jar foo.jar 

L'utilisation COPY est une autre alternative:

COPY foo.jar ~/.