ローカル マシンから Google Container Registry にコンテナをプッシュしようとすると、次のエラーが発生します。
拒否: リポジトリにアクセスできません。アクセス権があることを確認してください。
Cloud Shell を開くと、コンテナーを問題なくプッシュできます。「gcloud auth login」を何度か試しましたが、違いはないようです。他の gcloud コマンドをローカルで実行しても問題はありません。どんな助けでも大歓迎です。
ローカル マシンから Google Container Registry にコンテナをプッシュしようとすると、次のエラーが発生します。
拒否: リポジトリにアクセスできません。アクセス権があることを確認してください。
Cloud Shell を開くと、コンテナーを問題なくプッシュできます。「gcloud auth login」を何度か試しましたが、違いはないようです。他の gcloud コマンドをローカルで実行しても問題はありません。どんな助けでも大歓迎です。
同様の問題が発生している他のお客様への参考情報: https://github.com/docker/docker/issues/22910
Docker クライアントの現在のバージョン (1.11、1.12) と、新しいインストールで有効になっているデフォルトの資格情報ストアにバグがあり、プライベート レジストリが壊れます。の取り外し
"credsStore": "whatever"
docker config のフィールド (例: ~/.docker/config.json) と実行中
gcloud docker ...
問題を修正する必要があります。
アップデート:
別の方法として、お客様の問題を解決する独自の資格情報ヘルパーを実装しました(つまり、Docker クライアントが資格情報を要求するために使用する GCR URL にスキーマがないためにつまずくことはありません)。認証ヘルパーをインストールするには:
gcloud components install docker-credential-gcr
またdocker-credential-gcr configure-docker
して Docker クライアントに設定するこれは、gcloud がどのプロジェクトとして関連付けられるかを認識していないように思えます。
実行できます
gcloud 情報
gcloud が使用しているプロジェクトを確認します。
イメージをプッシュしているプロジェクトがリストされていない場合は、次のように --project フラグで指定できます
gcloud --project= docker push ...
gcloud のデフォルト プロジェクトを設定するには、次を実行します。
gcloud config set プロジェクト
gcloud info
私はこれと同じ問題を抱えていました.(インストールおよび構成ディレクトリ)の下にリストされているフォルダーを完全に削除してからsdkを再インストールするまで、何も解決しませんでした.
次に、実行gcloud components install docker-credential-gcr
してそのバックアップを設定しました。すべてが機能しました。