https://github.com/heiwa4126/ecr-pull-push
AWS ECR上のイメージを別のアカウントへコピーする
https://github.com/heiwa4126/ecr-pull-push
aws-ecr
Last synced: 4 months ago
JSON representation
AWS ECR上のイメージを別のアカウントへコピーする
- Host: GitHub
- URL: https://github.com/heiwa4126/ecr-pull-push
- Owner: heiwa4126
- Created: 2022-05-10T08:18:03.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2022-05-11T09:04:37.000Z (over 3 years ago)
- Last Synced: 2025-02-23T07:16:39.862Z (8 months ago)
- Topics: aws-ecr
- Language: Shell
- Homepage:
- Size: 4.88 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
ECRから別のECRにイメージをコピーするスクリプト。
普通のアプローチ。# 必要なもの
- docker
- AWS CLI
- ソースと宛先のAWSアカウントのAPIキーAWS CLIとDockerのインストールに関しては
[AWS CLI での Amazon ECR の使用 - Amazon ECR](https://docs.aws.amazon.com/ja_jp/AmazonECR/latest/userguide/getting-started-cli.html#getting-started-cli-prereqs)
を参照。# 設定ファイル
## account_src.sh
ソースのアカウントを記述する。
```sh
cp account_template.sh account_src.sh
vi account_src.sh
```
のようにテンプレートからコピーして編集する。
アカウントのポリシーは、対象レポジトリが読み出せる権限があれば十分。## account_dst.sh
宛先のアカウントを記述する。
```sh
cp account_template.sh account_dst.sh
vi account_dst.sh
```
のようにテンプレートからコピーして編集する。
アカウントのポリシーは、レポジトリの作成、書込、リストの権限が必要。**重要**
このコンテナイメージをlambdaとして使うなら、
lambdaと同じリージョンを指定してください。## config.sh
レポジトリの名前を設定する。
詳しくはこのファイル参照。# 実行
```sh
./pull.sh # ソースのECRからイメージをpullする
./tag.sh # タグつける
./create-repository.sh # 宛先にレポジトリ作る
./push.sh # 宛先のECRにイメージをpushする
```必要ならこれらを順番に実行するスクリプトでラップしてください。
# 補助スクリプト
```sh
# ↑で使ったimageを全部消す(そこそこディスクを喰うので)
./remove_images.sh
```# その他メモ
dockerなしでなんとかならんのか考える。
今回は「とりあえずできる」ことの確認用。あと Kubernetes使ってる人には常識なのかしらないけど、
タグにlatestを使うとろくなことにならない感じなので
少し修正する。