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 🙂
8
Answers
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:gcloud auth login
to re-login.gcloud auth list
to see your current accounts. You can usegcloud config set account xxx
to set the active account, or set the environmentCLOUDSDK_CORE_ACCOUNT
to set an account for the duration of a session.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
check your internet connection, I was having the same issues got resolved by checking the internet connectivity
run
sudo chown -R [User] $(pwd)
Then run your container with root permission (i.e:
sudo
)EX:
I was also facing the same error, the reason was a typo in the base image, you can check if you have any typo in the dockerfile
running this command
rm ~/.docker/config.json
before the build worked for me.I got some clue from this thread, however, just want to be precise about the steps you must pay attentions.
try with
sudo docker compose build
, this