LoginSignup
10
9

More than 3 years have passed since last update.

AWS ECRへのログイン方法

Posted at

こちらを参考にDockerイメージをEC2にデプロイしようと、
aws ecr get-login-password --region ap-northeast-1 | docker login --username AWS --password-stdin アカウントID.dkr.ecr.ap-northeast-1.amazonaws.com
のコマンドをターミナルで実行
1. 以下のようなエラーがでた。

command not found aws

Cannot perform an interactive login from a non TTY device
まずAWSのコマンドが使えるようになっていないらしい。

2. StackOverflowによると「AWS CLI version 2」というのをインストールしないといけないらしい。そのために、こちらのページの指示に従って、以下のコマンドをターミナルで実行する。
$ curl "https://awscli.amazonaws.com/AWSCLIV2.pkg" -o "AWSCLIV2.pkg"
$ sudo installer -pkg AWSCLIV2.pkg -target /
$ curl "https://awscli.amazonaws.com/AWSCLIV2.pkg" -o "AWSCLIV2.pkg"
$ sudo installer -pkg ./AWSCLIV2.pkg -target /

3.AWSに認証情報を登録する
再度ターミナルで
aws ecr get-login-password --region ap-northeast-1 | docker login --username AWS --password-stdin アカウントID.dkr.ecr.ap-northeast-1.amazonaws.com
を実行したら、
Unable to locate credentials. You can configure credentials by running "aws configure".
というエラーがでた。こちらによると、認証情報が登録されていないため、それを登録する必要があるらしい。
このページの指示通り、aws configure listをターミナルで実行すると、以下のようにでて、確かに認証情報がない。
スクリーンショット 2021-01-29 21.29.27.png

こちらに飛び、認証情報を登録する

この時点でAWSのIAMユーザのアカウントがなければこちらから作る。このページの「Creating an administrator IAM user and group (console)」の項目の最後までやればOK。
ここまでできたら、このページの「Access key ID and secret access key」項目の指示に従ってAccess key と Secret access key を作成する。作成したそれらはメモっておく。
次に、そのページにあるように、aws configureをターミナルで実行する
スクリーンショット 2021-01-29 21.38.17.png
「Access Key Id」と「Secret Access Key」に先ほど作成したものを入れる。
「Default region name」には「ap-northeast-1」を入れる
「Default out put format」にはjsonを入れる
これで認証情報が登録完了

4.再度
aws ecr get-login-password --region ap-northeast-1 | docker login --username AWS --password-stdin アカウントID.dkr.ecr.ap-northeast-1.amazonaws.com
を実行
Login Succeeded
がターミナルに表示!

10
9
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
10
9