![](/img/trans.png)
[英]gcloud docker push results in “denied: Token exchange failed for project 'gcp-project-id-example'.”
[英]Unable to push docker image to GCP registry : denied: Token exchange failed for project <my_project_id> Access denied
在嘗試使用Google Cloud cli在Google Cloud Registry上推送泊塢窗圖片時,我收到錯誤消息:
否認:令牌交換失敗的項目。 拒絕訪問。
我按照以下步驟操作:
google-cloud-sdk/bin/gcloud auth activate-service-account --key-file <path_to_json_file>
docker login -u _json_key --password-stdin https://asia.gcr.io < path_to_json_file
構建並標記了泊塢窗圖像。
嘗試使用以下命令將圖像推送到GCR:
docker push "asia.gcr.io/$GCLOUD_PROJECT_ID/$IMAGE_NAME:latest"
我得到的結果如下:
The push refers to repository [asia.gcr.io/<my_project_id>/<my_image_name>]
1bd77e11e1bf: Preparing
b57c79f4a9f3: Preparing
d60e01b37e74: Preparing
e45cfbc98a50: Preparing
762d8e1a6054: Preparing
denied: Token exchange failed for project <my_project_id>. Access denied.
注意:1。我的GCR API已啟用。
我正在使用的Docker版本是“Docker版本18.09.2,版本6247962”
我正在使用安裝了Google雲CLI的Windows機器。 因此,所有操作僅從Widows執行。
我在我的Gitlab管道中嘗試過Gitlab圖像'Docker:latest'。 兩個地方的錯誤都是一樣的(我的本地Windows機器和Gitlab管道)
您不需要步驟#3,因為您正在驗證Docker(而不是gcloud)以使用服務帳戶的憑據。
它適用於Linux(Cloud Shell)實例; 我假設GitLab使用Linux。 我沒試過Windows機器。
我建議您檢查您是否指的是正確的服務帳戶,密鑰,項目等。如評論中所述,服務帳戶需要> = roles/storage.admin
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.