インフラ

ECRにイメージをpush/pullするときに便利なawscliコマンド

ECR

こんにちは、ちゃりおです。

今回は、ECRにdockerイメージをpush/pullする際に便利なawsコマンドについてです。

aws ecrコマンド

コマンドの紹介です。

リポジトリの一覧表示(リポジトリ名のみ)

まずはリポジトリの一覧表示です。

$ aws ecr describe-repositories --query "repositories[].repositoryName"
[
    "test-repo",
]

ECRへのログイン

ECRへのログインです。
AWSアカウントIDが必要なため、「aws sts get-caller-identity」でアカウントIDを取得しています。

$ AID=$(aws sts get-caller-identity --query Account --output text)
$ aws ecr get-login-password --region ap-northeast-1 | docker login --username AWS --password-stdin $AID.dkr.ecr.ap-northeast-1.amazonaws.com

イメージのpush

リポジトリの一覧表示でリポジトリ名を確認後、pushします。

$ REPO="リポジトリ名" 
$ AID=$(aws sts get-caller-identity --query Account --output text)
$ docker tag $REPO:latest $AID.dkr.ecr.ap-northeast-1.amazonaws.com/$REPO:latest
$ docker push $AID.dkr.ecr.ap-northeast-1.amazonaws.com/$REPO:latest

イメージのpull

イメージタグをセットして、ECRからイメージをpullします。

$ REPO="リポジトリ名"
$ AID=$(aws sts get-caller-identity --query Account --output text)
$ aws ecr list-images --repository-name $REPO #イメージタグを確認
$ ITAG="イメージタグ"
$ docker pull $AID.dkr.ecr.ap-northeast-1.amazonaws.com/$REPO:$ITAG

まとめ

ECRのpush/pullについてでした。
アカウントIDを指定があるので、「aws sts get-caller-identity」を使うことが多かったです。

必要に応じて、エイリアスに登録しておこうと思います。

Aamzonで「AWS」の本を見てみる

楽天で「AWS」の本をみてみる!!

ECR
別アカウントから使用できるECRをCDKで書いてみたこんにちは、ちゃりおです。 AWSアカウントを分けているのですが、共通のDockerイメージを使いたいため 別アカウントで同じECRを...
cdk
CDKで複数コンテナのECSタスクを作成する際はDefaultコンテナの指定を忘れずやろうこんにちは、ちゃりおです。 ECSで複数コンテナを動かすタスク定義をCDKで書いていました。 しかし、想定したコンテナがALBのターゲ...
【書評】イラストで分かるDockerとKubernetesこんにちは、ちゃりおです。 今回は、コンテナ関連のおすすめ本について紹介します。 イラストでわかるDockerとKubernetes...