1
0

Amazon ECRでDockerイメージのプッシュ

Last updated at Posted at 2024-07-24

Amazon ECR(Elastic Container Registry)のプライベートリポジトリにDockerイメージをプッシュするまでの手順を記録します。手順はAWS CLIのインストール、AWSアカウントの作成、IAM Identity Centerでユーザーの追加・設定、AWS SSOの設定、Amazon ECRでDockerイメージのプッシュに分けます。無料枠での利用を想定しています。

Amazon ECRとは

Dockerコンテナイメージを保存、共有、デプロイできるDockerコンテナレジストリ

環境

  • CentOS7
  • Dockerはインストール済み

手順

1. AWS CLIのインストール 
2. AWSアカウントの作成
3. IAM Identity Centerでユーザーの追加・設定
4. AWS SSOの設定
5. Amazon ECRでDockerイメージのプッシュ (本記事)

SSO認証でログイン

  • 下記コマンドでSSO認証用に作成したプロフィールでログインする
  • デフォルトのブラウザに表示されたコードとターミナルに出力されたコードが同じであることを確認し、「Confirm and continue」をクリックする
$ aws sso login --profile <プロフィール名>

Amazon ECRレジストリにログイン

  • 下記コマンドを実行し、ログインする
    • get-login-passwordで認証トークンを出力する
    • docker login コマンドの --password-stdin オプションでトークンを取得する
    • --username オプションは AWS を指定する
$ aws ecr get-login-password --region <リージョン> --profile <プロフィール名> | docker login --username AWS --password-stdin <awsのアカウントID>.dkr.ecr.ap-<リージョン>.amazonaws.com
  • 下記のメッセージが出力さればログインできたことが確認できる
Login Succeeded

リポジトリの作成

  • 下記コマンドを実行し、Dockerイメージをプッシュするリポジトリを作成する
$ aws ecr create-repository --repository-name <任意のリポジトリ名> --region <リージョン名> --profile <プロフィール名>

タグ付け

  • 下記コマンドを実行し、プッシュするイメージの内容を確認する
$ docker images
...
REPOSITORY    TAG       IMAGE ID       CREATED         SIZE
httpd         latest    bfe6700e6779   2 months ago    147MB
  • 上記で確認した httpd:latest のイメージを、 <awsアカウントID>.dkr.ecr.<リージョン名>.amzonaws.com/<設定したリポジトリ名> とタグ付けする
$ docker tag httpd:latest <awsアカウントID>.dkr.ecr.<リージョン>.amazonaws.com/<作成したリポジトリ名>

イメージのプッシュ

  • 下記コマンドを実行し、作成したリポジトリにイメージをプッシュする
$ docker push <awsアカウントID>.dkr.ecr.<リージョン名>.amazonaws.com/<設定したリポジトリ名>
  • 下記の出力が確認できればイメージのプッシュが完了したことが確認できる
The push refers to a repository [<awsアカウントID>.dkr.ecr.<region>.amazonaws.com/<設定したリポジトリ名>] (len: 1)
e9ae3c220b23: Pushed
a6785352b25c: Pushed
0998bf8fb9e9: Pushed
0a85502c06c9: Pushed
latest: digest: sha256:215d7e4121b30157d8839e81c4e0912606fca105775bb0636EXAMPLE size: 6774

参考

1
0
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
1
0