Amazon Elastic Container Registry
ECRは、コンテナイメージの圧縮保存・管理をする
ECSでも、EKSでも、AWSで使うなら、Docker Hubではなく、ECRを使いましょう。
Docker HubのAWS版です。
ECRの場所は、ステージング環境に置いておいて、本番環境でも利用できるようにするのか?分からなかったので、調べてみました。
ECRは、ステージングと本番両方に作るのがよさそうです。
両方に、docker push
するのが良さそうです。
$ docker pull alpine $ docker images alpine latest 965ea09ff2eb 4 weeks ago 5.55MB
リポジトリ名 | t-kurihara/test01 | <アカウントID>.dkr.ecr.ap-northeast-1.amazonaws.com/ |
<アカウントID>.dkr.ecr.ap-northeast-1.amazonaws.com/t-kurihara/test01
$ aws ecr create-repository --repository-name test12345
$ aws ecr describe-repositories --repository-name test12345
Dockerの認証に関わるコマンドを実行します
$ aws ecr get-login-password --region ap-northeast-1 | docker login --username AWS --password-stdin <アカウントID>.dkr.ecr.ap-northeast-1.amazonaws.com Login Succeeded
AWS CLI v2では 以下のaws ecr get-loginが使用できなくなっています。
$(aws ecr get-login –no-include-email –region ap-northeast-1)
プッシュするイメージに、ECRのレポジトリ用のタグを付けます。
docker tag 元のリポジトリ名:元のタグ名 変更後のリポジトリ名:変更後のタグ名 例 docker tag alpine:latest <アカウントID>.dkr.ecr.ap-northeast-1.amazonaws.com/t-kurihara/test01:latest
docker imagesで確認
$ docker images 123456789012.dkr.ecr.ap-northeast-1.amazonaws.com/cm-hirano/test01 latest 965ea09ff2eb 4 weeks ago 5.55MB
$ docker push 123456789012.dkr.ecr.ap-northeast-1.amazonaws.com/t-kurihara/test01:latest
AWS管理コンソールからDockerイメージを確認しましょう。