Я пытаюсь извлечь контейнер из частного реестра gcloud из виртуальной машины gcloud, используя служебную учетную запись для аутентификации. ВМ и реестр находятся в одном проекте. Независимо от того, что я делаю, я всегда получаю Error response from daemon: unauthorized
.
XXX@sandbox:~$ gcloud auth configure-docker gcr.io
WARNING: Your config file at [/home/XXX/.docker/config.json] contains these credential helper entries:
{
"credHelpers": {
"gcr.io": "gcloud"
}
}
Adding credentials for: gcr.io
gcloud credential helpers already registered correctly.
XXX@sandbox:~$ sudo docker pull gcr.io/MY-PROJECT-ID/MY-IMAGE:latest
Error response from daemon: unauthorized: You don't have the needed permissions to perform
this operation, and you may have invalid credentials. To authenticate your request, follow
the steps in: https://cloud.google.com/container-registry/docs/advanced-authentication
У учетной записи службы есть роль администратора хранилища для корзины хранения gcr.io:
Виртуальная машина имеет доступ к хранилищу в режиме чтения-записи:
Виртуальная машина была остановлена, перезапущена несколько раз , Docker обновлен:
XXX@sandbox:~$ which docker
/usr/bin/docker
XXX@sandbox:~$ sudo docker version
Client: Docker Engine - Community
Version: 19.03.8
API version: 1.40
Go version: go1.12.17
Git commit: afacb8b7f0
Built: Wed Mar 11 01:26:02 2020
OS/Arch: linux/amd64
Experimental: false
Server: Docker Engine - Community
Engine:
Version: 19.03.8
API version: 1.40 (minimum version 1.12)
Go version: go1.12.17
Git commit: afacb8b7f0
Built: Wed Mar 11 01:24:36 2020
OS/Arch: linux/amd64
Experimental: false
containerd:
Version: 1.2.13
GitCommit: 7ad184331fa3e55e52b890ea95e65ba581ae3429
runc:
Version: 1.0.0-rc10
GitCommit: dc9208a3303feef5b3839f4323d9beb36df0a9dd
docker-init:
Version: 0.18.0
GitCommit: fec3683
Я могу заставить его работать, используя JSON ключевой файл, но не с рекомендуемым gcloud auth configure-docker
. Я предполагаю, что есть еще один недокументированный переключатель или разрешение, которое мне нужно щелкнуть, но я просто не вижу.