0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

AWS CLIを用いてのECRへのDockerイメージのpush

Last updated at Posted at 2019-06-10
経緯

CircleCIを用いて、githubにpushしたコードを自動的にAmazonECSにデプロイされるようにしてみたかったので、いろいろ調査しました。
その過程で、AWS CLIを用いてのECRへのDockerイメージをpushする必要があったので、その調査結果を記録しておきます。

前提

AWS-CLIがインストール済みであることを前提とします。インストールされていない場合は、インストール方法はこちら。
公式ドキュメント:AWS CLI のインストールと設定(https://docs.aws.amazon.com/ja_jp/streams/latest/dev/kinesis-tutorial-cli-installation.html)

aws --version

戻り値:aws-cli/1.16.164 Python/3.7.3 Darwin/18.6.0 botocore/1.12.154など。

本編

以下、ECRへログインして、Dockerイメージをpushするまで。
公式ドキュメント:Amazon ECR で AWS CLI を使用する(https://docs.aws.amazon.com/ja_jp/AmazonECR/latest/userguide/ECR_AWSCLI.html)

1. AmazonECRレジストリへのDockerログインコマンドを取得(12時間有効らしい)

aws ecr get-login --region ap-northeast-1 --no-include-email
ap-northeast-1は自分の使っているリージョン名に置き換えてください。

2. 以下のような戻り値が帰ってくるので、それをそのままコピペして実行。

docker login -u AWS -p eyJw...............................jh9 https://999988887777.dkr.ecr.ap-northeast-1.amazonaws.com
ただし、以下のようにすると、上記1、2を一度に実行できるので、上記1、2は不要です。
eval $(aws ecr get-login --region ap-northeast-1 --no-include-email)

3. テスト用イメージをローカルPCにPull。今回は、nginx公式シメージを使いました。
docker pull nginx

4. ECRレポジトリ作成。手動で作っておけばよいのですが、ついでにaws cliからやってみました。
aws ecr create-repository --repository-name nginx-test
nginx-testのところは自分が作りたいレポジトリ名に置き換えてください。

戻り値
{
"repository": {
"repositoryArn": "arn:aws:ecr:ap-northeast-1:999988887777:repository/nginx-test",
"registryId": "999988887777",
"repositoryName": "nginx-test",
"repositoryUri": "999988887777.dkr.ecr.ap-northeast-1.amazonaws.com/nginx-test",
"createdAt": 1560058104.0
}
}

5. レポジトリにPush用にタグ付してPush
docker tag nginx:latest 999988887777.dkr.ecr.ap-northeast-1.amazonaws.com/nginx-test:latest
前の方のnginx:latestのところ(tagの直後)は、ローカルのDockerイメージなので、適当な名前、タグ名に変えてください。
後ろの方のnginx-test:latestは先ほど作成したECRレポジトリ名と、pushするイメージに付けたいタグ名なので、適宜変えてください。
999988887777のところは、自分のIamユーザのACCOUNT_IDで置き換えてください。
ap-northeast-1は自分の使っているリージョン名に置き換えてください。

docker push 999988887777.dkr.ecr.ap-northeast-1.amazonaws.com/nginx-test:latest
以上です。

0
1
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
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?