awsのdocker login上の問題

投稿者: Anonymous

弊社では、クラウド環境はawsを使用しています。
そこで、ECRのdocker機能を利用しています。
さて、今回次のコマンドでdocker loginした後、docker buildでエラーを生じました。

pip install awscli --upgrade --user
aws ecr get-login --no-include-email
docker login -u AWS -p ********   == https://01234.dkr.ecr.ap-northeast-1.amazonaws.com


docker build .
Sending build context to Docker daemon  52.76MBStep 1/5 : FROM 56789.dkr.ecr.ap-northeast-1.amazonaws.com:latestGet https://56789.dkr.ecr.ap-northeast-1.amazonaws.com: no basic auth credentials

確かに”01234″と”56789″が異なっています。
FROMが異なる場合、どうしたらよろしいでしょうか。
よろしくお願いします。

実は、”01234″と”56789″を入れ替えてdocker loginしました。
ところが、次のエラーメッセージが表示されました。

FROM 56789.dkr.ecr.ap-northeast-1.amazonaws.com:latestpull access denied for 56789.dkr.ecr.ap-northeast-1.amazonaws.com, repository does not exist or may require 'docker login'

この問題、一体全体何が悪いのでしょうか。
よろしくお願いします。

解決

https://01234.dkr.ecr.ap-northeast-1.amazonaws.com

このURLのサブドメイン、 01234 はAWSのアカウントIDを示しています。

aws_account_id.dkr.ecr.us-east-1.amazonaws.com/hello-world
https://docs.aws.amazon.com/ja_jp/AmazonECR/latest/userguide/docker-basics.html

そのため、

  • ご自身のアカウントIDが 01234 で、そちらにベースとなるDockerイメージが存在するなら、DockerfileにおけるFROMの参照を 01234 に書き換える
  • 56789 のアカウントにしかベースとなるDockerイメージが存在しないなら、 56789 のアカウントを利用してログインする

という方法で解決するかと存じます。

回答者: Anonymous

Leave a Reply

Your email address will not be published. Required fields are marked *