はじめに
ECRとは、Amazon EC2 Container RegistryというAWSが管理するコンテナレジストリ。
同様のサービスでDocker Hubなどがある。
前提条件
- aws-cliの最新バージョンがインストールされていること。
- regionや認証情報が設定済みであること。
aws-cliがインストールされていない場合
# インストール
$ sudo pip install awscli
# 最新化
$ sudo pip install awscli --upgrade --ignore-installed six
認証情報が未設定の場合
$ aws configure
手順
ECRにリポジトリを作る
$ aws ecr create-repository --repository-name <コンテナ名>
{
"repository": {
"registryId": "XXXXXXXXXXXX",
"repositoryName": "<コンテナ名>",
"repositoryArn": "arn:aws:ecr:ap-northeast-1:XXXXXXXXXXXX:repository/<コンテナ名>",
"repositoryUri": "XXXXXXXXXXXX.dkr.ecr.ap-northeast-1.amazonaws.com/<コンテナ名>"
}
}
上記の「repositoryUri」の値をメモしておく。
dockerイメージにタグをつける
$ docker tag <コンテナ名>:<タグ名> <上記でメモしたrepositoryUri>/<コンテナ名>:<タグ名>
ECRにログインする
$ $(aws ecr get-login --no-include-email --region ap-northeast-1)
ECRにプッシュする
$ docker push <上記でメモしたrepositoryUri>/<コンテナ名>:<タグ名>