事象
jp.icr.ioのイメージはpullできるにも関わらずicr.ioのイメージに関しては以下のようにエラーとなる。
# docker pull icr.io/xx:latest Error response from daemon: Get https://icr.io/xxt: unauthorized: The login credentials are not valid, or your IBM Cloud account is not active.
環境情報
- Windows 10
- ibmcloud(2.0.0)
原因/解決策
.docker/config.jsonにauths.icr.ioに関する情報が入っていない。
よって以下でregionをglobalに変更した上で
# ibmcloud cr region-set global 地域は「global」に設定されました。地域は「icr.io」です。 OK
ICCRにログインをすると
# ibmcloud cr login 「registry.bluemix.net」にログインしています... 「registry.bluemix.net」にログインしました。 「icr.io」にログインしています... 「icr.io」にログインしました。 OK
確かにicr.ioの認証情報が作成されてpullコマンドが通る。
cat .docker/config.json { "auths": { "icr.io": { "auth": "xx", "identitytoken": xx...
以下、補足です。
補足
システムが IBM Cloud Container Registry にアクセスするよう設定する必要がありますが、その際にリージョンがどこになっているのかを確認する必要があります。
自分が現在どこにICCRとセッションを持っているかは以下コマンドから確認ができ
$ ibmcloud cr info
このコマンド結果にて以下のようにjpのICCRが指されていて
Container Registry jp.icr.io
直近でicr.ioにログインしていないのであれば上記のようにリージョンを変更してログインする必要があります。
以上、ご参考ください。