2017-09-28 2 views
2

Ich habe ein Verzeichnis, das eine Dockerfile und eine JAR-Datei foo.jar enthält.Dockerfile ausführen ausführbar

Im Dockerfile Ich habe folgendes geschrieben:

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

ich das Bild mit Erfolg aufbauen, indem

Lauf

docker build -t foo-example .

Dann versuche ich es zu laufen durch

läuft docker run -ti --rm -p 8080:8080 foo-example

und ich bekomme diese Fehlermeldung:

Error: Unable to access jarfile foo.jar

Irgendwelche Ideen?

+0

Platzierung nur die JAR-Datei im selben Verzeichnis wie die dockerfile wird nicht die JAR-Datei in das Docker Bild platzieren. Sie müssen den ADD-Befehl in Ihrer Docker-Datei verwenden. – f1sh

+0

In der Tat, ich hatte nicht ganz verstanden, ich habe die JAR-Datei zum Docker-Bild hinzugefügt und jetzt funktioniert es gut, danke! – luthien

+0

@luthien wäre es nett, dass du die Antwort akzeptierst, die dir geholfen hat. –

Antwort

3

Sie müssen foo.jar innerhalb des Containers verfügbar machen, z. Kopiere es hinein und vergewissere dich, dass du den genauen Ort angegeben hast, während du es ausführst. Lies docker docs über den Befehl ADD.

Im Grunde brauchen Sie etwas in dieser Richtung hinzuzufügen:

ADD foo.jar foo.jar 

Mit COPY ist eine weitere Alternative:

COPY foo.jar ~/. 
Verwandte Themen