(O+P)ut

アウトプット



(O+P)ut

エンジニアのアウトプット

【IBM Cloud Container Registry】The login credentials are not validとエラーが出る原因

スポンサーリンク

事象

レジストリーサービスにpushする際に以下のエラーとなる。

$ docker push jp.icr.io/xx/hello-world:latest
The push refers to repository [jp.icr.io/xx/hello-world]
9c27e219663c: Preparing
unauthorized: The login credentials are not valid, or your IBM Cloud account is not active.
環境情報
$ ibmcloud --version
...version 1.3.0:...
$ docker --version
Docker version 20.10....

原因/対応策

Container Registryへのログインに失敗している。

以下のコマンドが通れば

$ ibmcloud cr login
「jp.icr.io」にログインしています...
「jp.icr.io」にログインしました。

OK

pushコマンドが通り

$ docker push jp.icr.io/xx/hello-world:latest
The push refers to repository [jp.icr.io/xx/hello-world]
9c27e219663c: Pushed
latest: digest: sha256:90xx size: 525

イメージリストの一覧に記載が確認できる。

$ ibmcloud cr image-list
イメージをリストしています...

リポジトリー                          タグ     ダイジェスト   名前空間        作成日       サイズ   セキュリティー状況
jp.icr.io/xx/hello-world   latest   90659bf80b44  xx   1 year ago   2.5 kB   サポート対象外 OS

OK

以下、補足です。

補足

事前に以下のように個別の名前空間を作成しておけば同名前空間にイメージが保管できます。

$ ibmcloud cr namespace-add xx
宛先になっているリソース・グループがありません。 そのため、アカウントのデフォルトのリソース・グループ (「default」) が
宛先になります。

レジストリー jp.icr.io のアカウント 日本IBM 用のリソース・グループ「default」に、名前空間「xx」を追加中...

名前空間「xx」は正常に追加されました

OK

ちなみに名前空間は一意のものを選定しないと以下のようにエラーとなります。

$ ibmcloud cr namespace-add test
...
失敗
要求された名前空間は既にレジストリー「jp.icr.io」で使用中です。
別の名前空間を選択してください。

同作業が完了すればpush可能ですが、ibmcloud loginとは別にibmcloud cr loginを実施しないと冒頭に記載したエラーとなります。

以上、ご参考になれば幸いです。