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 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されていることが確認できます。
これでDocker imageのpushは完了です。