LoginSignup
5
8

More than 5 years have passed since last update.

ECR

ECRはAmazon EC2 Container Registryの略で、docker hubやquay.ioと同じdockerイメージのregistryです。

ここでは、自分のnginxイメージをECRにpushして使ってみます。

準備

aws cliのインストール

$ sudo easy_install pip
$  sudo pip install awscli --ignore-installed six

credentialの設定

$ aws configure

IAMでユーザー作ってcredential.csvダウンロード

$ aws configure
AWS Access Key ID [None]: AK*******
AWS Secret Access Key [None]:***************
Default region name [None]: us-east-1
Default output format [None]: json

ECSからregistryを選択

ECSへの初回アクセス時に「ECSで何したい?」みたいなこと聞かれるのでimageをregistryしたいです。みたいなチェックボックスのみチェックして先に進みます。

進んだ先にある「create repogitory」をクリックして名前を入力して先に進めば指示が出てきます。だいたいこの指示に従えば良いです。

イメージをpushする

次にログインコマンドを得ます。

$ aws ecr get-login --region us-east-1
docker login -u AWS -p AQECAHhwm0YaISJeRtJm5n1G6uqeekXuoXXPe5UFce9Rq8/14wAAAuUwggLhBgkqhkiG9w0BBwagggLSMIICzgIBADCCAscGCSqGSIb3DQEHATAeBglghkgBZQMEAS4wEQQMNB*****d37hSvJ5bYCU82qmBnuV*****0sy9YUzAYEU4HcqZfE84gQAtajmQkMSEyAyMg= -e none https://*****.dkr.ecr.us-east-1.amazonaws.com

ここで出たdocker loginコマンドをコピペして実行

そしてnginxのDockerfileがあるディレクトリまで移動してビルドします。

$ docker build -t dev_nginx .

そのあと作ったイメージにタグ付けします

$ docker tag dev_nginx:latest ****.dkr.ecr.us-east-1.amazonaws.com/dev_nginx:latest

最後にpushすれば完了です

$ docker push *****.dkr.ecr.us-east-1.amazonaws.com/dev_nginx:latest
The push refers to a repository [******.dkr.ecr.us-east-1.amazonaws.com/dev_nginx]
e7a4abc5075e: Pushed
5f70abc8a086: Pushed
4b26abc9a475: Pushed
ccb1abcd3fb7: Pushed
e387abcd2065: Pushed
63babc221cce: Pushed
e02dabc53481: Pushed
dea2e4abcd29: Pushed
latest: digest: sha256:******************* size: 10704

docker-composeへの設定

docker-composeのimageにpushしたイメージを以下のような形式で書けば完了です。

# docker-compose.yml
nginx:
  image: *****.dkr.ecr.us-east-1.amazonaws.com/dev_nginx:latest
          .
          .
          .

これでbuildし直してdocker-compose upして起動を確認したら完了です。

出たエラー

An error occurred (AccessDeniedException) when calling the GetAuthorizationToken

IAMのECRの権限が足りません。追加しましょう。

5
8
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
8