java - 为什么在笔记本电脑上成功创建了我的Java docker镜像,但是上传到Google Cloud时却失败了?

标签 java docker maven google-cloud-platform google-cloud-run

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 .
但是,当尝试将图像上传到Google Cloud时,请使用以下命令运行:
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镜像,但是google cloud运行由于某种原因而失败,则可以将本地制作的镜像直接推送到google容器注册表。

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

关于java - 为什么在笔记本电脑上成功创建了我的Java docker镜像,但是上传到Google Cloud时却失败了?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62869429/

相关文章:

docker - 从 gitlab 容器注册表获取最后上传的 docker 镜像

java - 为什么 Maven 找不到位于另一个模块/项目中的包?

java - 如何构建完整生成的 Maven 模块

Java 泛型查询(上限通配符)

java - 对于原始长整型有效的compareTo()

git - 如何使docker-compose将上下文从GIT加载到特定目录?

apache - 准备Docker容器以通过Shell或exec进行最坏情况的救援

java - SPAnish) 体系结构,在哪里放置公共(public)代码?

java - 如何摆脱 PlaceHistoryMapper

java - 如何在 Ant JUnit Task 中设置额外的 Java Logger FileHandler?