GCEに開発環境を作り、GCE環境内で作成したアプリケーションのコンテナイメージをCloud Runで実行させるために、Container Registryにイメージをpushした際に「denied: Access denied.」とエラーが表示されてpush出来なかった話。
$ sudo gcloud docker -- push gcr.io/[projectID]/[Name]
...
7cf0f434f498: Waiting
8555e663f65b: Waiting
d00da3cd7763: Waiting
4e61e63529c2: Waiting
799760671c38: Waiting
denied: Access denied.
原因
作成したGCEのVM環境からContainer Registryにコンテナイメージをpushするためには、以下画像のようにVM環境がストレージに対して書き込みなどのアクセス権限を持っていないとダメみたいでした。
上記のようにVM環境がストレージに対して書き込み権限を与えたあとは無事にpushすることが出来ました。
その他エラーに対して確認した内容
○Container RegistryのAPI設定が有効になっているかどうか
○Container Registryの権限のロールが正しく設定されているかどうか