2017-06-07 5 views
1

Ich habe eine Webanwendung, die ich in einem Andock-Container ausführen möchte. Auf meinem Host-System befinden sich meine Dockerfile und die Spring-Boot-Web-0.0.1-SNAPSHOT.jar im Verzeichnis/tmp/spr. Hier finden Sie meine Dockerfile:Warum funktioniert meine Dockerdatei nicht?

FROM centos 

RUN yum install -y java 

VOLUME /tmp/spr 
ADD spring-boot-web-0.0.1-SNAPSHOT.jar /myapp.jar 
RUN sh -c 'touch /myapp.jar' 
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/urandom",'-jar',"/myapp.jar"] 

Jedesmal, wenn ich ein Docker log tun, bekomme ich folgende Fehlermeldung: /bin/sh: [java, -Djava.security.egd = file:/dev/urandom, - jar,/myapp.jar]: Keine solche Datei oder Verzeichnis

Was mache ich falsch?

Antwort

1

Sie haben einfache Anführungszeichen -jar wenn es braucht doppelte Anführungszeichen zu sein:

ENTRYPOINT ["java", "-Djava.security.egd=file:/dev/urandom", "-jar", "/myapp.jar"] 
+0

Dank. Dies war mühsam docker rm $ (docker ps -a-q) und docker rmi my-broken-image jedesmal wenn ich versuche, docker laufen zu lassen, ich wünschte, es wäre einfacher, diese kaputten Bilder/Container loszuwerden. – Rolando

+0

@Rolando: Verwende 'docker run --rm' anstelle von' 'docker run'', um den' rm' Schritt zu vermeiden, und lass das alte Bild frei. Tags werden automatisch aktualisiert. – Ryan

+0

Das wirkt Wunder. Vielen Dank. – Rolando

Verwandte Themen