■ はじめに
https://dk521123.hatenablog.com/entry/2020/05/22/165711
の続き。 今回は、Amazon ECR (Elastic Container Registry) に対して 色々な操作をメモる。
目次
【1】 ECR から イメージをプルする 0)詳細手順 1)Amazon ECR レジストリに対してログインする 2)プルするイメージを識別する(オプション) 3)docker pull コマンドを使用してイメージをプルする 【2】Tips 1)Exportして、S3に送る(docker save) 2)ECR にログインなしで接続する (amazon-ecr-credential-helper)
【1】 ECR から イメージをプルする
* ECR から EC2で docker pull するやり方を以下に記す
https://docs.aws.amazon.com/ja_jp/AmazonECR/latest/userguide/docker-pull-ecr-image.html
0)詳細手順
1)Amazon ECR レジストリに対してログインする 2)プルするイメージを識別する(オプション) 3)docker pull コマンドを使用してイメージをプルする
1)Amazon ECR レジストリに対してログインする
https://dk521123.hatenablog.com/entry/2020/05/22/165711
で行ったログインと同じ。 /usr/local/bin/aws ecr get-login-password --region us-west-2 | docker login --username AWS --password-stdin xxxx.xxx.ecr.us-west-2.amazonaws.com
2)プルするイメージを識別する(オプション)
# レジストリ内のリポジトリの確認 aws ecr describe-repositories --region us-west-1 # リポジトリ内のイメージ aws ecr describe-images --repository-name hello-world-ecr --region us-west-1
3)docker pull コマンドを使用してイメージをプルする
# docker pull registry/repository[:tag] docker pull xxxx.xxx.ecr.us-west-2.amazonaws.com/hello-world-ecr:latest # 確認(「xxxx.xxx.ecr.us-west-2.amazonaws.com/hello-world-ecr」を確認) docker images
【2】Tips
1)Exportして、S3に送る(docker save)
# Homeに移動し、Export cd ~ docker save xxxx.xxx.ecr.us-west-2.amazonaws.com/hello-world-ecr:latest -o hello-world-ecr.tar # S3にアップロード aws s3 cp hello-world-ecr.tar s3://your-S3-bucket/backup/hello-world-ecr.tar # 確認するために... # 一旦Dockerイメージを削除 docker rmi xxxx.xxx.ecr.us-west-2.amazonaws.com/hello-world-ecr # 削除できたか確認 docker images # TarファイルをImportしてみる docker load -i hello-world-ecr.tar # 削除できたか確認 docker images
2)ECR にログインなしで接続する (amazon-ecr-credential-helper)
* amazon-ecr-credential-helper を使う
https://github.com/awslabs/amazon-ecr-credential-helper
設定手順例
# Step1: インストール # apt の場合 $ sudo apt update $ sudo apt install amazon-ecr-credential-helper # Amazon Linux 2 (AL2) # $ sudo amazon-linux-extras enable docker # $ sudo yum install amazon-ecr-credential-helper # Step2:設定ファイル追加 vi ~/.docker/config.json # 「例:~/.docker/config.json」を参照
例:~/.docker/config.json
{ "auths": {}, "credsStore": { "xxxxxxxxxx.dkr.ecr.us-west-2.amazonaws.com": "ecr-login" } }
関連記事
Amazon ECR ~ 入門編 ~
https://dk521123.hatenablog.com/entry/2020/05/22/165711
Amazon ECR ~ AWS CLI ~
https://dk521123.hatenablog.com/entry/2024/01/05/000000
Amazon ECR ~ boto3 ~
https://dk521123.hatenablog.com/entry/2024/01/31/014010
Amazon ECR ~ Dockerイメージを Pull & Push ~
https://dk521123.hatenablog.com/entry/2023/12/02/024631
Amazon ECR ~ 別アカウントのECRにPull/Push ~
https://dk521123.hatenablog.com/entry/2024/05/14/232934
Amazon ECR ~ 別アカウントからInspector2を操作するには ~
https://dk521123.hatenablog.com/entry/2024/05/16/212100
Amazon ECR ~ AWS ECR Public Gallery ~
https://dk521123.hatenablog.com/entry/2024/04/08/184035
Amazon ECR ~ pull through cache rules ~
https://dk521123.hatenablog.com/entry/2024/04/09/141310
Amazon ECR ~ 脆弱性診断 / Amazon Inspector ~
https://dk521123.hatenablog.com/entry/2024/01/22/210831
Terraform ~ AWS ECR ~
https://dk521123.hatenablog.com/entry/2023/05/23/002314
Amazon ECR でのトラブルシューティング
https://dk521123.hatenablog.com/entry/2020/05/24/000000
Docker ~ 基本編 / dockerコマンド ~
https://dk521123.hatenablog.com/entry/2020/04/13/000000
Amazon S3 ~ AWS CLIでS3を操作する ~
https://dk521123.hatenablog.com/entry/2017/04/01/235355