generative-ai icon indicating copy to clipboard operation
generative-ai copied to clipboard

[Bug]: FixMyCar docker push issue

Open rosquillas opened this issue 1 year ago • 2 comments
trafficstars

File Name

https://github.com/GoogleCloudPlatform/generative-ai/blob/main/gemini/sample-apps/fixmycar/vertex-ai-search/dockerpush.sh

What happened?

Following the fixmycar sample-app here , while running the script ./dockerpush.sh the script ends with the following error: An image does not exist locally with the tag: us-central1-docker.pkg.dev/PROJECT-ID/fixmycar/backend-vertex-ai-search

Relevant log output

(The PROJECT-ID in my code is OK, I've replaced it here for generic PROJECT-ID)

ERROR: failed to solve: failed to compute cache key: failed to calculate checksum of ref e023d94f-882c-4f28-b70c-709c68f26350::dvrktl1idtinjgmwkje9cv3l1: "/.mvn": not found
The push refers to repository [us-central1-docker.pkg.dev/PROJECT-ID/fixmycar/backend-vertex-ai-search]

An image does not exist locally with the tag: us-central1-docker.pkg.dev/PROJECT-ID/fixmycar/backend-vertex-ai-search

Code of Conduct

  • [X] I agree to follow this project's Code of Conduct

rosquillas avatar Apr 03 '24 00:04 rosquillas

Hello! if you're seeing an error that An image does not exist locally, that usually means the docker build step failed, and there's no container image to push.

During the build, looks like you got an err: "/.mvn": not found. Did you install Maven 3.9+ during the prerequisites?

if Maven is correctly installed, you should be able to run this.

❯ mvn --version
Apache Maven 3.9.6 (bc0240f3c744dd6b6ec2920b3cd08dcc295161ae)
Maven home: /opt/homebrew/Cellar/maven/3.9.6/libexec
Java version: 17.0.10, vendor: Homebrew, runtime: /opt/homebrew/Cellar/openjdk@17/17.0.10/libexec/openjdk.jdk/Contents/Home
Default locale: en_US, platform encoding: UTF-8
OS name: "mac os x", version: "14.4.1", arch: "aarch64", family: "mac"

The docker build step should then be able to run these maven commands during the build: https://github.com/GoogleCloudPlatform/generative-ai/blob/main/gemini/sample-apps/fixmycar/vertex-ai-search/backend/Dockerfile#L17

askmeegs avatar Apr 04 '24 19:04 askmeegs

For me, this is issue was caused by the omission of the wrapper from the git repository (probably due to the .gitignore) To fix this issue, I did the following...

  1. Changed directory to gemini/sample-apps/fixmycar/vertex-ai-search/backend
  2. Executed mvn wrapper:wrapper
  3. Change back to the the vertex-ai-search directory and the execute ./dockerpush.sh

After this, the docker push worked successfully. Hope this helps.

davidjsanders avatar Apr 18 '24 14:04 davidjsanders

Getting this FixMyCar sample app to work is challenging. Errors encountered so far are:

  1. Updating the GCP CloudShell Maven to version 3.9.6 or higher (thanks askmeegs).
  2. Fixing the missing wrapper (thanks davidjsaunders).
  3. Fixing the missing class file for com.google.protobuf.GeneratedMessageV3 (current impasse).

Any suggestions on the best way to fix the missing class file for com.google.protobuf.GeneratedMessageV3 ?

DAVIDMCCREADY avatar Jun 21 '24 12:06 DAVIDMCCREADY

Hi all- Fixes in progress for 1, 2, and 3. Issue 3 is a breaking upgrade in one of FixMyCar's backend dependencies, working on a temporary workaround. https://github.com/protocolbuffers/protobuf/issues/17247

askmeegs avatar Jun 30 '24 13:06 askmeegs