AWS
Docker
ECR

Docker imageをbuildしてAWS ECRにpushする

自分のブログの転載記事です。

最近ECSを勉強中です。

自作アプリをデプロイしたいのですが、とりあえずECRにDocker imageをpushする必要があるようなので、push方法について調べてみました。


AWS ECRにリポジトリの作成

ECRコンソールから、imageをpushするリポジトリを作成します。

スクリーンショット 2019-03-03 12.38.28.png

作成すると、以下のようにリポジトリ一覧に表示されます。

ここで表示されているURIは、のちほどpushコマンドを実行する際に使用します。

スクリーンショット 2019-03-03 12.48.42.png


Docker CLIの認証

imageのpushにはDocker CLIを使用します。

そのために、作成したレジストリに対して、Docker CLIを認証します。

aws ecr get-login --no-include-email --region ap-northeast-1

上記のコマンドを実行すると、以下のようなレスポンスが返ってきます。

docker login -u AWS -p password https://aws_account_id.dkr.ecr.ap-northeast-1.amazonaws.com

このレスポンスが、AWS ECRに対してDocker CLIを認証するためのコマンドです。

なのでそのまま実行しましょう。


pushしたいDocker imageの作成

ECRにpushしたいDocker imageを、以下のコマンドで作成します。

コマンドはベースとなるDockerfileのあるディレクトリで実行します。

docker build -t my_app_name

その後、pushするためにタグをつけます。

docker tag my_app_name:latest <YOUR ECR URI>/my_app_name:latest


ECRへのpush

以下のコマンドを実行することで、作成したリポジトリにimageをpushできます。

docker push <YOUR ECR URI>/my_app_name:latest

リポジトリの中を見てみると、pushされていることが確認できます。

スクリーンショット 2019-03-03 14.33.36.png

これでDocker imageのpushは完了です。