generative-ai
generative-ai copied to clipboard
[Bug]: FixMyCar docker push issue
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
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
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...
- Changed directory to
gemini/sample-apps/fixmycar/vertex-ai-search/backend - Executed
mvn wrapper:wrapper - Change back to the the
vertex-ai-searchdirectory and the execute./dockerpush.sh
After this, the docker push worked successfully. Hope this helps.
Getting this FixMyCar sample app to work is challenging. Errors encountered so far are:
- Updating the GCP CloudShell Maven to version 3.9.6 or higher (thanks askmeegs).
- Fixing the missing wrapper (thanks davidjsaunders).
- 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 ?
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