メニュー

© 2026 ブログ

AWS ECR 別アカウントへDockerイメージを移動する手順(コマンド付き)

更新日:AWS

AWS ECR 別アカウントへDockerイメージを移動する手順(コマンド付き)

ECR から別アカウントのイメージを、別環境の ECR へ移動する方法を忘れてしまうことがあるため、備忘録としてまとめておきたいと思います。よくやるのに忘れる。。。

そのため今回は、タグの付け替え手順や push コマンドなどの作業内容を、忘れないように記録として残しておきます。

目的

  • 移動元(A アカウント)の ECR にある Docker イメージを
  • 移動先(B アカウント)の ECR に移動する

前提

  • プロファイルの設定等は完了していることを前提としています。
    環境 AWS アカウント ID リージョン
    移動元(A) 111111111111 ap-northeast-1
    移動先(B) 222222222222 ap-northeast-1

リポジトリ名:my-repo タグ:latest(一旦 latest にしておく)

手順

① 移動元 ECR へログイン(A アカウント)

aws ecr get-login-password \
  --region ap-northeast-1 \
  --profile account-a \
| docker login \
  --username AWS \
  --password-stdin 111111111111.dkr.ecr.ap-northeast-1.amazonaws.com

① 移動元 ECR から Pull

docker pull \
111111111111.dkr.ecr.ap-northeast-1.amazonaws.com/my-repo:latest

③ 移動先 ECR へログイン(B アカウント)

aws ecr get-login-password \
  --region ap-northeast-1 \
  --profile account-b \
| docker login \
  --username AWS \
  --password-stdin 222222222222.dkr.ecr.ap-northeast-1.amazonaws.com

タグを付け替える(※忘れがち)

docker tag \
111111111111.dkr.ecr.ap-northeast-1.amazonaws.com/my-repo:latest \
222222222222.dkr.ecr.ap-northeast-1.amazonaws.com/my-repo:latest

移動先 ECR へ Push

docker push \
222222222222.dkr.ecr.ap-northeast-1.amazonaws.com/my-repo:latest

余談

chatgpt に聞いたら以下のような bash コマンドを用意してくれました

#!/usr/bin/env bash
set -e
 
SRC_ACCOUNT=111111111111
DST_ACCOUNT=222222222222
REGION=ap-northeast-1
REPO=my-repo
TAG=$1
 
echo "Pulling from source..."
aws ecr get-login-password --region $REGION --profile account-a \
| docker login --username AWS --password-stdin ${SRC_ACCOUNT}.dkr.ecr.${REGION}.amazonaws.com
 
docker pull ${SRC_ACCOUNT}.dkr.ecr.${REGION}.amazonaws.com/${REPO}:${TAG}
 
echo "Login to destination..."
aws ecr get-login-password --region $REGION --profile account-b \
| docker login --username AWS --password-stdin ${DST_ACCOUNT}.dkr.ecr.${REGION}.amazonaws.com
 
docker tag \
${SRC_ACCOUNT}.dkr.ecr.${REGION}.amazonaws.com/${REPO}:${TAG} \
${DST_ACCOUNT}.dkr.ecr.${REGION}.amazonaws.com/${REPO}:${TAG}
 
docker push ${DST_ACCOUNT}.dkr.ecr.${REGION}.amazonaws.com/${REPO}:${TAG}
 
echo "Done 🚀"

おすすめの記事