构建 gcloud 项目时出现问题:复制失败:未指定源文件

Oli*_*ins 1 docker google-cloud-platform gcloud

我有一个带有 DockerFile 的 java 项目,如下所示:

FROM openjdk:8-jdk-alpine
RUN addgroup -S spring && adduser -S spring -G spring
USER spring:spring
ARG JAR_FILE=target/*.jar
COPY ${JAR_FILE} shape-shop-backend.jar
ENTRYPOINT ["java","-jar","/shape-shop-backend.jar"]
Run Code Online (Sandbox Code Playgroud)

如果我像这样运行 docker :

C:\dev\shape-shop>docker build -t testtest:1.0
Run Code Online (Sandbox Code Playgroud)

它完美地构建了一个图像。

我假设“gcloud builds Submit”以同样的方式工作。我在谷歌云上有一个名为whataboutanewproject的项目,因此在同一目录中我运行以下命令:

C:\dev\shape-shop>gcloud builds submit --tag gcr.io/whataboutanewproject/shapeshop
Run Code Online (Sandbox Code Playgroud)

但我收到这个错误:

Digest: sha256:94792824df2df33402f201713f932b58cb9de94a0cd524164a0f2283343547b3
Status: Downloaded newer image for openjdk:8-jdk-alpine
 ---> a3562aa0b991
Step 2/6 : RUN addgroup -S spring && adduser -S spring -G spring
 ---> Running in 36cf2156a797
Removing intermediate container 36cf2156a797
 ---> 7320b32f6fe1
Step 3/6 : USER spring:spring
 ---> Running in f439aa9ca30e
Removing intermediate container f439aa9ca30e
 ---> 67f952c7bc2a
Step 4/6 : ARG JAR_FILE=target/*.jar
 ---> Running in 0bcfbf5f3b79
Removing intermediate container 0bcfbf5f3b79
 ---> 7519fa3bdc2f
Step 5/6 : COPY ${JAR_FILE} shape-shop-backend.jar
COPY failed: no source files were specified
ERROR
ERROR: build step 0 "gcr.io/cloud-builders/docker" failed: step exited with non-zero status: 1
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

ERROR: (gcloud.builds.submit) build d3704337-88de-4dda-a120-ebd2a01ee8c9 completed with status "FAILURE"

C:\dev\shape-shop>
Run Code Online (Sandbox Code Playgroud)

为什么不能正确处理DockerFile?

“gcloud build Submit”是否会构建图像?网站上的文档完全是垃圾,我根本不知道这个“gcloud build Submit”命令实际上是做什么的。

小智 9

我遇到了类似的问题,并在gcloud builds 提交的文档中发现,如果您没有.gcloudignore文件,则会使用您的.gitignore文件,这对我造成了问题。