6

Docker イメージを eu.gcr.io にプッシュしようとしていますが、403 Forbidden が表示されます

gcloud docker push  eu.gcr.io/<projectname>/<image>:latest                                                                  
The push refers to a repository [eu.gcr.io/<projectname>/<image>] (len: 1)
663cd9de01fe: Preparing
Post https://eu.gcr.io/v2/w<projectname>/<image>/blobs/uploads/: token auth attempt for registry: https://eu.gcr.io/v2/token?account=_token&scope=repository%3A<projectname>%2F<image>3Apush%2Cpull&service=eu.gcr.io request failed with status: 403 Forbidden

確認しました

  1. curl https://eu.gcr.io/v1/_ping => 動作
  2. gcloud config list => プロジェクト ID が設定されています
  3. コンソールでストレージ API が有効になっている
  4. URLでプロジェクト名を使用すると、403 Forbiddenが表示されます
  5. URLでプロジェクトIDを使用すると、「リポジトリが存在しません」と表示されます
  6. gcloud auth list => 所有者がアクティブとして表示されます
  7. gcloud components update => すべてのコンポーネントが最新です。
4

2 に答える 2

3

問題は、(ローカル) docker タグが正しくないことです。タグは「gcloud project id」ではなく「project name」であったため、プロジェクトを含むようにタグを変更すると、プッシュが機能します。

于 2016-01-19T16:37:12.503 に答える
3

私は同じ問題に直面していたので、順番に解決しました。

  1. 言われたように画像の名前を変更します
  2. ユーザーを docker グループに追加します (docker ログインに重要)
  3. Docker ログイン トークンを使用するhttps://cloud.google.com/container-registry/docs/auth
docker login -e 1234@5678.com -u _token -p "$(gcloud auth print-access-token)" https://gcr.io 

( を使用している場合sudo docker、トークンは root アカウントで保存されます。)

次に、Docker イメージをプライベート リポジトリにプッシュする方法docker push gcr.io/projetc_id/imagenameに従って使用します

于 2016-02-05T10:41:06.507 に答える