Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
1
Help us understand the problem. What is going on with this article?
@segur

docker-credential-ecr-login can only be used with Amazon Elastic Container Registry. のエラーを消す

More than 1 year has passed since last update.

docker-credential-ecr-login とは?

docker-credential-ecr-login っていうのは、 Amazon ECR (Amazon が提供している Dockerレジストリサービス)に、PCからアクセスする際に必要になるログイン作業を、自動化してくれるツールです。

amazon-ecr-credential-helper と同じものです。(多分)

インストール方法等、詳細はこちらをご覧ください。
amazon-ecr-credential-helperをWindowsにインストールする

プルしたら docker-credential-ecr-login でエラーが発生した

新しいPCに docker-credential-ecr-login をインストールして、 docker pull node:12.3.1-alpine を実行したところ、以下のエラーが発生しました。

$ docker pull node:12.3.1-alpine
ERRO[0000] Error parsing the serverURL                   
error="docker-credential-ecr-login can only be used with Amazon Elastic Container Registry." 
serverURL="https://index.docker.io/v1/"

docker-credential-ecr-login 使って https://index.docker.io/v1/ (Docker Hubのこと) にアクセスしようとしてますけど、 docker-credential-ecr-login はAmazon ECRでしか使えませんよ!

みたいな意味だと思います。

credsStore じゃなくて credHelpers を使わなきゃダメらしい

こちらの記事に同じ症状のことが記載されてました。
docker-credential-ecr-login can only be used with Amazon Elastic Container Registry

どうやら、 config.jsoncredsStore を使うのはダメで、 credHelpers を使わなきゃいけないみたいです。

config.json を修正した

%USERPROFILE%\.docker\config.json を確認したところ、以下のようになっていました。

{
  // 省略
  "credsStore": "ecr-login",
  // 省略
}

この credsStore の行を削除して、以下のように書き換えます。

{
  // 省略
  "credHelpers": {
    "{AWSアカウントID}.dkr.ecr.{リージョン名}.amazonaws.com": "ecr-login"
  },
  // 省略
}

例えば、

  • AWSアカウントID00000000000000
  • リージョン名ap-northeast-1

の場合、00000000000000.dkr.ecr.ap-northeast-1.amazonaws.com となります。

ちなみに、 * 等のワイルドカードは使えませんので、ご注意ください。
例えば、 *.dkr.ecr.*.amazonaws.com みたいなのはNGです。(私の環境で試したところ、ダメでした。)

これで再度、 docker pull node:12.3.1-alpine を実行したところ、無事にプルすることができました。

念のため、 ECRからもプルを試してみたところ、そちらも大丈夫でした。

さいごに

以下のサイトを参考にさせていただきました。

1
Help us understand the problem. What is going on with this article?
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
segur
Unity認定プログラマー。VR学会認定技術者。xRエンジニア。ガジェットが大好きなギーク。 色んなコンピュータ言語に触れるのが好き。

Comments

No comments
Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account Login
1
Help us understand the problem. What is going on with this article?