Amazon ECR でのプルスルーキャッシュに関する問題のトラブルシューティング - Amazon ECR

Amazon ECR でのプルスルーキャッシュに関する問題のトラブルシューティング

プルスルーキャッシュルールを使用してアップストリームイメージをプルする際に、最もよく発生する可能性のある一般的なエラーは次のとおりです。

リポジトリが存在しない

リポジトリが存在しないことを示すエラーは、ほとんどの場合、Amazon ECR プライベートレジストリにリポジトリが存在しないか、アップストリームイメージをプルする IAM プリンシパルに ecr:CreateRepository アクセス許可が付与されていないのが原因です。このエラーを解決するには、プルコマンドのリポジトリ URI が正しいこと、必要となる IAM アクセス許可がアップストリームイメージをプルする IAM プリンシパルに付与されていること、またはアップストリームのイメージをプルする前に、プッシュされるアップストリームイメージのリポジトリが Amazon ECR プライベートレジストリに作成されていることを確認します。必要となる IAM アクセス許可の詳細については、「アップストリームレジストリと Amazon ECR プライベートレジストリを同期するために必要な IAM アクセス許可」を参照してください。

このエラーの例を以下に示します。

Error response from daemon: repository 111122223333.dkr.ecr.us-east-1.amazonaws.com/ecr-public/amazonlinux/amazonlinux not found: name unknown: The repository with name 'ecr-public/amazonlinux/amazonlinux' does not exist in the registry with id '111122223333'
リクエストされたイメージが見つからない

イメージが見つからないことを示すエラーは、ほとんどの場合、アップストリームレジストリにイメージが存在しないか、アップストリームイメージをプルする IAM プリンシパルに ecr:BatchImportUpstreamImage アクセス許可が付与されておらず、Amazon ECR プライベートレジストリ内にレポジトリがすでに作成されているのが原因です。このエラーを解決するには、アップストリームイメージとイメージタグ名が正しく、それが存在し、アップストリームイメージをプルする IAM プリンシパルに必要な IAM アクセス許可が付与されていることを確認する必要があります。必要となる IAM アクセス許可の詳細については、「アップストリームレジストリと Amazon ECR プライベートレジストリを同期するために必要な IAM アクセス許可」を参照してください。

このエラーの例を以下に示します。

Error response from daemon: manifest for 111122223333.dkr.ecr.us-east-1.amazonaws.com/ecr-public/amazonlinux/amazonlinux:latest not found: manifest unknown: Requested image not found
Docker Hub リポジトリからプルするときに 403 Forbidden

Docker Official Image としてタグ付けされている Docker Hub リポジトリからプルする場合は、使用する URI に /library/ を含める必要があります。例えば、aws_account_id.dkr.ecr.region.amazonaws.com/docker-hub/library/image_name:tag と指定します。Docker Hub Official イメージの /library/ を省略した場合、プルスルーキャッシュルールを使用してイメージをプルしようとすると 403 Forbidden エラーが返されます。詳細については、「Amazon ECR でのプルスルーキャッシュルールを使用したイメージのプル」を参照してください。

このエラーの例を以下に示します。

Error response from daemon: failed to resolve reference "111122223333.dkr.ecr.us-west-2.amazonaws.com/docker-hub/amazonlinux:2023": pulling from host 111122223333.dkr.ecr.us-west-2.amazonaws.com failed with status code [manifests 2023]: 403 Forbidden