

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 對 Amazon ECR 中的提取快取問題進行故障診斷
<a name="error-pullthroughcache"></a>

在使用提取快取規則提取上游映像時，以下是您可能會收到的最常見錯誤。

**儲存庫不存在**  
指示儲存庫不存在的錯誤大多是因為儲存庫不存在於您的 Amazon ECR 私有登錄檔中，或是因為未授予 `ecr:CreateRepository` 許可給提取上游映像的 IAM 主體。若要解決此錯誤，您應該確認您提取命令中的儲存庫 URI 正確，已授予所需要的 IAM 許可給提取上游映像的 IAM 主體，或者在進行上游映像提取之前已在您的 Amazon ECR 私有登錄檔中建立了要將上游映像推送到的儲存庫。如需所需 IAM 許可的詳細資訊，請參閱 [將上游登錄檔與 Amazon ECR 私有登錄檔同步所需的 IAM 許可](pull-through-cache-iam.md)。  
以下為此錯誤的範例。  

```
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'
```

**找不到請求的映像**  
指示找不到映像的錯誤大多是因為映像不存在於上游登錄檔中，或是因為未授予 `ecr:BatchImportUpstreamImage` 許可給提取上游映像的 IAM 主體，但已在您的 Amazon ECR 私有登錄檔中建立了儲存庫。若要解決此錯誤，您應該確認上游映像和映像標籤名稱正確，且其已存在且已將所需要的 IAM 許可授予提取上游映像的 IAM 主體。如需所需 IAM 許可的詳細資訊，請參閱 [將上游登錄檔與 Amazon ECR 私有登錄檔同步所需的 IAM 許可](pull-through-cache-iam.md)。  
以下為此錯誤的範例。  

```
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
```

**403 從 Docker Hub 儲存庫提取時禁止**  
從標記為 **Docker 官方映像**的 Docker Hub 儲存庫中提取時，您必須在您使用的 URI 中包含 `/library/`。例如 `aws_account_id.dkr.ecr.region.amazonaws.com/docker-hub/library/image_name:tag`。如果您省略 `/library/` Docker Hub 官方映像的 ，當您嘗試使用提取快取規則提取映像時，將會傳回`403 Forbidden`錯誤。如需詳細資訊，請參閱[在 Amazon ECR 中使用提取快取規則提取映像](pull-through-cache-working-pulling.md)。  
以下為此錯誤的範例。  

```
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
```