Я получаю ошибки аутентификации при попытке нажать на хранилище контейнеров google. Я вижу много вопросов по этому поводу и буду выполнять шаги, которые я сделал на основе дополнительных предложений. Я работаю локально в Windows, имея обновленную версию gcloud и docker.gcloud docker authentication x509 error
Начнем с того, что у меня есть активная учетная запись службы с полными правами владельца.
я могу увидеть в моем проекте и ведро просто отлично.
C:\Program Files (x86)\Google\Cloud SDK>gsutil acl get gs://api-project-773889352370-ml
[
{
"entity": "project-owners-773889352370",
"projectTeam": {
"projectNumber": "773889352370",
"team": "owners"
},
"role": "OWNER"
},
{
"entity": "project-editors-773889352370",
"projectTeam": {
"projectNumber": "773889352370",
"team": "editors"
},
"role": "OWNER"
},
{
"entity": "project-viewers-773889352370",
"projectTeam": {
"projectNumber": "773889352370",
"team": "viewers"
},
"role": "READER"
}
]
Я могу загрузить ключ .json для своей учетной записи службы и активировать ее локально.
gcloud auth activate-service-account --key-file C:/Users/Ben/Dropbox/Google/MeerkatReader-9fbf10d1e30c.json
У меня есть рабочий набор грузчика и логины
C:\Program Files (x86)\Google\Cloud SDK>docker push bw4sz/hello-world
The push refers to a repository [docker.io/bw4sz/hello-world]
a02596fdd012: Layer already exists
latest: digest: sha256:a18ed77532f6d6781500db650194e0f9396ba5f05f8b50d4046b294ae5f83aa4 size: 524
пометить мое тестовое изображение (привет-мир) с именем хоста и моим проектом ID и дать ему попробовать
C:\Program Files (x86)\Google\Cloud SDK>gcloud docker --push gcr.io/api-project-773889352370/hello-world
ERROR: Docker CLI operation failed:
Error response from daemon: Get https://gcr.kubernetes.io/v1/users/: x509: certificate has expired or is not yet valid
ERROR: (gcloud.docker) Docker login failed.
Хорошо, перейдем к передовым методам auth, предложенным here, here, и here
В документации говорится, что я могу обойти gcloud и напрямую использовать докеры, просто передайте мой .json keyfile для входа.
C:\Program Files (x86)\Google\Cloud SDK>docker login -u _json_key -p "$(cat C:/Users/Ben/Dropbox/Google/MeerkatReader-d77c0d6aa04f.json)" https://gcr.io
Error response from daemon: Get https://gcr.io/v2/: unknown: Unable to parse json key.
документы говорят, чтобы сделать это в два этапа, давайте попробуем, что:
C:\Program Files (x86)\Google\Cloud SDK>set /p PASS=<C:/Users/Ben/Dropbox/Google/MeerkatReader-9fbf10d1e30c.json
C:\Program Files (x86)\Google\Cloud SDK>docker login -e [email protected] -u _json_key -p "%PASS%" https://gcr.io
Flag --email has been deprecated, will be removed in 1.13.
Error response from daemon: Get https://registry-1.docker.io/v2/: unauthorized: incorrect username or password
Другое предложение было использовать температуру маркера
C:\Program Files (x86)\Google\Cloud SDK>docker login -e [email protected] -u _token -p "$(gcloud auth print-access-token)" https://gcr.io
Flag --email has been deprecated, will be removed in 1.13.
Login Succeeded
Великий давайте попробуем снова надавите.
C:\Program Files (x86)\Google\Cloud SDK>docker push gcr.io/api-project-773889352370/hello-world
The push refers to a repository [gcr.io/api-project-773889352370/hello-world]
a02596fdd012: Preparing
denied: Unable to create the repository, please check that you have access to do so.
Я видел, кто-то предложить, чтобы просто нажать на ведро, а не проект ID, который просто висит
C:\Program Files (x86)\Google\Cloud SDK>docker push gcr.io/api-project-773889352370-ml/hello-world
The push refers to a repository [gcr.io/api-project-773889352370-ml/hello-world]
a02596fdd012: Retrying in 1 second <- goes on forever.
EDIT: Попытка внушения Раствора
C:\Program Files (x86)\Google\Cloud SDK>gcloud auth activate-service-account --key-file C:/Users/Ben/Dropbox/Google/MeerkatReader-9fbf10d1e30c.json
Activated service account credentials for: [[email protected]]
C:\Program Files (x86)\Google\Cloud SDK>gcloud docker -a -s gcr.io
Short-lived access for ['gcr.io'] configured.
C:\Program Files (x86)\Google\Cloud SDK>docker push gcr.io/api-project-773889352370/hello-world
The push refers to a repository [gcr.io/api-project-773889352370/hello-world]
a02596fdd012: Preparing
denied: Unable to create the repository, please check that you have access to do so.
Не совсем, но все ближе, добавляя ваше предложение в качестве редактирования. Спасибо за помощь! – bw4sz