Edited at

【AWS】初めてのECR

AWSで提供されているECR(EC2 Container Registry)を使ってみました。


リージョン

今のところus-east-1のみでの提供です。 Tokyo(ap-northeast-1)にもきました。


事前準備

aws cliのconfigureでecr用のプロファイルを作成しておくと便利です。

※リージョンを聞かれるので、us-east-1を指定して下さい。

aws configure --profile ecr


リポジトリ作成

とりあえず初めてなので、AWSマネージメントコンソールから作成しました。

手順

1. AWSマネージメントコンソールにアクセス

2. 右上のリージョンをUS EAST(N. Virginia)に変更

3. ECSサービスを選択

4. 左サイドバーのRepogitoriesを選択

5. Create repositoryボタン押下

作成するとその後の操作方法がコマンドライン表記で表示されます。


ECRへDockerイメージをプッシュ

表示された操作方法を元にイメージをプッシュします。

ECRにログイン

まずは最初に表示されているコマンドを実行

aws ecr get-login --region us-east-1 --profile ecr --no-include-email

そうするとレスポンスにログイン用コマンドがコマンドラインに表示されるので、それをそのまま実行するとログインが完了します。

プッシュするイメージを作成

ここで作成するイメージ名は、前段で作成したECRのリポジトリ名に合わせてください。

docker build -t 【イメージ名】 .

ECRにプッシュする為のタグを追加

docker tag 【イメージ名】:latest ************.dkr.ecr.us-east-1.amazonaws.com/【イメージ名】:latest

ECRにプッシュ

docker push ************.dkr.ecr.us-east-1.amazonaws.com/【イメージ名】:latest

ECRからプル

docker pull ************.dkr.ecr.us-east-1.amazonaws.com/【イメージ名】:latest


結果

うまくいきました!

会社等外部へ公開できない環境ででDocker運用する際などはprivate registoryを運用しないといけませんが、運用コスト等考えるとなかなか手がつけづらい部分でした。

だがしかしECRでかなり捗りそうですね!


追記

記事が古いですね。申し訳ありません。tokyoリージョンでもできます!最高!Fooooo!

これにより、今いる会社では本番環境でもECSでイメージ保存から実際の運用、サービス提供までやっています!コンテナで運用するとリソースの無駄遣いがマジでなくなりますね!感激!