Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Docker build-返回非零代码:127_Docker - Fatal编程技术网

Docker build-返回非零代码:127

Docker build-返回非零代码:127,docker,Docker,我正在windows操作系统上运行。我尝试使用Git bash在minikube上构建docker映像,并使用docker终端在docker本身上构建docker映像。我在运行[“/gradlew”、“clean”、“build”和“--debug”]的第行中遇到错误。在终端上运行相同的命令时,它工作 Docker文件:Docker构建 FROM openjdk:8u131-jdk-alpine COPY . /app WORKDIR /app RUN ["./gradlew", "clean"

我正在windows操作系统上运行。我尝试使用Git bash在minikube上构建docker映像,并使用docker终端在docker本身上构建docker映像。我在运行[“/gradlew”、“clean”、“build”和“--debug”]的第行中遇到错误。在终端上运行相同的命令时,它工作

Docker文件:Docker构建

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

Local User@PC 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/projects/authentication尝试更改

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

对于
RUN
命令,不需要添加
[,]
。主要用于
CMD,ENTRYPOINT

解决这个问题的一般解决方案是进入系统进行调试

对于这个案子

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

大多数情况下,你会明白这是什么。如果您可以将这些代码(或部分代码)放入github,将
gradlew text eol=lf
添加到。gitattributes在windows上从Git Bash运行时对我起到了作用,那就太好了。这是由于跨平台的行尾丢失。

您是否阅读过这篇文章:“没有这样的文件或目录”?也许
RUN[“/app/gradlew”,“clean”,“build”,“--debug”]
仍然一样。步骤4/4:RUN/app/gradlew clean build--debug-->在e46107518dab中运行:没有这样的文件或目录命令“/app/gradlew clean build--debug”返回一个非零代码:127注释掉
运行
,构建映像并在容器内运行命令<代码>docker运行-it my image bash
,然后手动运行
/gradlew clean build--debug
。哪个windows版本?你是否使用docker工具箱?如果不相关,请移除标记minikube。此答案为我提供了线索。早些时候,我将一个repo克隆到了我的本地服务器上,执行时,出现了“找不到”错误。然后我下载了zip,它工作了!非常感谢。
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