簡體   English   中英

為什么我的 java docker 圖像在筆記本電腦上創建成功,但上傳到谷歌雲運行時失敗?

[英]Why is my java docker image created successfully on laptop but when uploading to google cloud run it fails?

dockerfile:

FROM maven as builder
# Set the working directory.
WORKDIR /usr/src/mymaven
COPY ./ /usr/src/mymaven
CMD [ "maven:3.3-jdk-8" , "mvn" , "clean" , "install" ]

FROM openjdk:8
COPY --from=builder /usr/src/mymaven/target /usr/src/myapp
WORKDIR /usr/src/myapp
CMD ["java", "-jar" , "Build-Backend-0.0.1-SNAPSHOT.jar"]

在本地構建成功使用以下命令:

docker build -t javaservice .

但是當嘗試將圖像上傳到谷歌雲時,使用命令運行:

gcloud builds submit --tag gcr.io/$(gcloud config get-value project)/javaservice

它給出了錯誤:

Step 6/8 : COPY --from=builder /usr/src/mymaven/target /usr/src/myapp
COPY failed: stat /var/lib/docker/overlay2/201005fffe25fce26b6ef6067586ae02dd20a0ad7d63b846d5ee6260d833d52d/merged/usr/src/mymaven/target: no such file or directory
ERROR
ERROR: build step 0 "gcr.io/cloud-builders/docker" failed: step exited with non-zero status: 1

這里可能有什么問題?

找不到答案,所以發布我自己找到的解決方案。
如果您可以在本地計算機上構建 docker 映像,但無論出於何種原因,谷歌雲運行失敗,您可以將本地制作的映像直接推送到谷歌容器注冊表。

gcloud auth configure-docker #integrate gcloud to docker
docker build . --tag gcr.io/[PROJECT-ID]/[IMAGENAME]
docker push gcr.io/[PROJECT-ID]/[IMAGENAME]

來源: https://cloud.google.com/run/docs/building/containers

您的本地目錄中的target目錄似乎被.gitignore.gcloudignore忽略,因此沒有被發送到 Cloud Build。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM