2017-07-20 47 views
0

我在Windows操作系統上運行。我試圖在minikube上使用Git bash和docker本身使用docker終端來構建docker鏡像。我在線RUN [「./gradlew」,「clean」,「build」,「--debug」]上遇到錯誤。在運行相同的命令./gradlew clean build --debug在終端上工作。Docker構建 - 返回非零代碼:127

泊塢文件:多克 - 建立

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

端子輸出:

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 

注:gradlew是我當前的目錄/ E /項目/認證下

+0

你看過這個:「沒有這樣的文件或目錄」嗎?也許'RUN [「/ app/gradlew」,「clean」,「build」,「--debug」]' –

+0

還是一樣的。步驟4/4:RUN/app/gradlew clean build --debug --->運行於e46107518dab ':沒有這樣的文件或目錄 命令'/ app/gradlew clean build --debug'返回一個非零代碼:127 – user3501569

+0

註釋掉'RUN',構建圖像並在容器中運行命令。 'docker run -it my-image bash',然後手動運行'./gradlew clean build --debug'。 – Grimmy

回答

0

將.添加到.gitattributes爲我工作,因爲我在Windows上從Git Bash運行。這是由於跨平臺的行尾缺失。

0

嘗試改變

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

RUN gradlew clean build --debug 

對於RUN命令,也無需添加[,]。因爲多數情況CMD, ENTRYPOINT

通用解決方案來解決,這是進入系統調試

這種情況。

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

然後你可以運行的圖像,檢查裏面

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

晴,你會弄清楚它是什麼。如果你可以把這些代碼(或部分)放到github中,那就太好了

相關問題