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


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

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

AWS ECRにリポジトリの作成

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

作成すると、以下のようにリポジトリ一覧に表示されます。
ここで表示されているURIは、のちほどpushコマンドを実行する際に使用します。

Docker CLIの認証

imageのpushにはDocker CLIを使用します。
そのために、認証トークンを取得し、レジストリに対して Docker クライアントを認証します。

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されていることが確認できます。

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