2017-07-20 2 views
0

Ich bin auf Windows OS ausgeführt. Ich habe versucht, Docker Bilder auf Minikube mit Git Bash und auf Docker selbst mit Docker Terminal zu bauen. Ich erhalte einen Fehler in der Zeile RUN ["./gradlew", "clean", "build", "--debug"]. Beim Ausführen des gleichen Befehls ./gradlew sauber bauen --debug am Terminal funktioniert es.Docker bauen - einen Code ungleich Null zurückgegeben: 127

Docker-Datei: Docker-build

FROM openjdk:8u131-jdk-alpine 
COPY . /app 
WORKDIR /app 
RUN ["./gradlew", "clean", "build", "--debug"] 

Terminal-Ausgang:

Local [email protected] MINGW64 /E/projects/authentication (master) 
$ docker build -t my-image -f Dockerfile-build . 
Sending build context to Docker daemon 51.7MB 
Step 1/4 : FROM openjdk:8u131-jdk-alpine 
---> 478bf389b75b 
Step 2/4 : COPY . /app 
---> 818b5bb8a22d 
Removing intermediate container 02b237aa04c0 
Step 3/4 : WORKDIR /app 
---> e238b49f5174 
Removing intermediate container cd052cd7975a 
Step 4/4 : RUN ./gradlew clean build --debug 
---> Running in c47b21d9a0bc 
': No such file or directory 
The command './gradlew clean build --debug' returned a non-zero code: 127 

Hinweis: gradlew ist unter meinem aktuellen Verzeichnis/E/projects/Authentifizierung

+0

haben Sie das gelesen: "Keine solche Datei oder Verzeichnis"? vielleicht 'RUN ["/ app/grodlew", "sauber", "bauen", "--debug"] ' –

+0

Immer noch gleich. Schritt 4/4: RUN/app/gradlew sauber bauen --debug ---> läuft in e46107518dab ': Keine solche Datei oder Verzeichnis Der Befehl'/App/Gradlew sauber Build --debug 'gab eine nicht Null zurück code: 127 – user3501569

+0

Kommentieren Sie den 'RUN', erstellen Sie das Image und führen Sie den Befehl im Container aus. 'docker run -it my-image bash', dann führe' ./gradlew clean build --debug' manuell aus. – Grimmy

Antwort

0

Hinzufügen von gradlew text eol=lf zu .gitattributes funktionierte für mich, wie ich von Git Bash auf Windows ausgeführt wurde. Dies lag daran, dass das plattformübergreifende Ende der Zeile fehlte.

0

zu ändern versuchen

RUN ["./gradlew", "clean", "build", "--debug"] 

zu

RUN gradlew clean build --debug 

Für RUN Befehl, gibt es keine Notwendigkeit [,] hinzuzufügen. dass vor allem für CMD, ENTRYPOINT

Allgemeine Lösung zu lösen diese in das System eingeben

für diesen Fall zu debuggen.

Removing intermediate container 02b237aa04c0 
Step 3/4 : WORKDIR /app 
---> e238b49f5174 <== useful image !! 
Removing intermediate container cd052cd7975a 

Dann können Sie das Bild laufen innerhalb

docker run -it e238b49f5174 bash 
# ls 
# gradlew clean build --debug 

überprüfen Meist werden herausfinden, was es ist. Wird nett sein, wenn Sie diese Codes (oder teilweise) in Github setzen können

Verwandte Themen