'Why am I getting this error: ERROR [internal] load metadata

I am a Docker noob and am trying to run the make dev-services script, declared in the skaffold.yml file (I exchanged image and sha names with xxx):

- name: dev-services
  build:
    tagPolicy:
      inputDigest: {}
    local:
      push: false
      useBuildkit: true
    artifacts:
    - image: gcr.io/xxx/service-base
      context: .
    - image: gcr.io/xxx/api
      context: server/api/
      requires:
        - image: gcr.io/xxx/service-base
          alias: service_base
    - image: gcr.io/xxx/media
      context: server/media/app
      requires:
        - image: gcr.io/xxx/service-base
          alias: service_base
  deploy:
    kustomize:
      paths:
        - ./k8s/local
        - ./server/api/k8s/development
        - ./server/media/k8s/development

When I run it, I get this error:

Building [gcr.io/xxx/media]...
[+] Building 2.8s (4/4) FINISHED                                                                                                                                                                            
 => [internal] load build definition from Dockerfile                                                                                                                                                   0.0s
 => => transferring dockerfile: 37B                                                                                                                                                                    0.0s
 => [internal] load .dockerignore                                                                                                                                                                      0.0s
 => => transferring context: 2B                                                                                                                                                                        0.0s
 => [internal] load metadata for docker.io/library/alpine:3.14                                                                                                                                         1.2s
 => ERROR [internal] load metadata for gcr.io/xxx/service-base:xxx                                                     2.6s
------
 > [internal] load metadata for gcr.io/xxx/service-base:xxx:
------
failed to solve with frontend dockerfile.v0: failed to create LLB definition: unexpected status code [manifests xxx]: 401 Unauthorized
Building [gcr.io/xxx/api]...
Canceled build for gcr.io/xxx/api
exit status 1. Docker build ran into internal error. Please retry.
If this keeps happening, please open an issue..
make: *** [dev-services] Error 1

Anyone know what might be the problem here? Might it be the google container registry? I'm using Minikube. Is there a Minikube - or Docker - registry that could try? If so, what would I need to change in the skaffold.yaml file?

Thanks a lot in advance :)



Solution 1:[1]

The error:

failed to solve with frontend dockerfile.v0: failed to create LLB definition: unexpected status code [manifests xxx]: 401 Unauthorized

indicates that Docker was unable to get authorization for one of your GCR repositories. Docker will normally get this information from your gcloud settings. There's a couple of reasons why this may fail:

  • You haven't configured Docker for accessing GCR. See the GCR documentation for how to configure access.
  • Your account doesn't have permission to access GCR. See the GCR documentation on configuring access control.
  • Your login details have expired or been revoked. Use gcloud auth login to re-login.
  • You have multiple accounts, and you're using the wrong account. Try gcloud auth list to see your current accounts. You can use gcloud config set account xxx to set the active account, or set the environment CLOUDSDK_CORE_ACCOUNT to set an account for the duration of a session.

Solution 2:[2]

for anyone else coming here from windows OS in your docker desktop settings, uncheck the Use Docker Compose V2 this worked for me, i uncheck it works, i checked to try again and make sure that was the issue and yes it was the issue didn't work , until i uncheck again

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 Brian de Alwis
Solution 2 Swiss bobo