Почему мое изображение java docker успешно создано на ноутбуке, но при загрузке в облако Google оно не работает? - PullRequest
1 голос
/ 13 июля 2020

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 запускается с помощью команды:

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

Что здесь может быть не так?

Ответы [ 2 ]

2 голосов
/ 13 июля 2020

Не удалось найти ответ, поэтому опубликовал решение, которое я нашел сам.
Если вы можете создавать docker изображений на локальном компьютере, но запуск облака Google не работает по какой-либо причине, вы можете сделать это sh локально созданный образ прямо в реестр контейнеров 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

0 голосов
/ 14 июля 2020

Похоже, что каталог target в вашем локальном каталоге игнорируется .gitignore или .gcloudignore, и поэтому не отправляется в Cloud Build.

...