

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

# 搭配 Amazon ECR 使用 Podman
<a name="Podman"></a>

Podman 搭配 Amazon ECR 使用 可讓組織利用 的安全性和簡單性，Podman同時受益於 Amazon ECR 用於容器映像管理的可擴展性和可靠性。透過遵循概述的步驟和命令，開發人員和管理員可以簡化其容器工作流程、增強安全性，並最佳化資源使用率。隨著容器化持續獲得動力，使用 Podman和 Amazon ECR 提供強大且靈活的解決方案，用於管理和部署容器化應用程式。

## 使用 Podman 向 Amazon ECR 驗證
<a name="authentication-with-ecr"></a>

使用 與 Amazon ECR 互動之前Podman，需要身分驗證。這可以透過執行 ``aws ecr get-login-password``命令來擷取身分驗證字符，然後使用該字符搭配 ``podman login``命令來向 Amazon ECR 進行身分驗證來實現。

```
aws ecr get-login-password --region <region> | podman login --username AWS --password-stdin <aws_account_id>.dkr.ecr.<region>.amazonaws.com
```

## 搭配 Podman 使用 Amazon ECR 登入資料協助程式
<a name="registry-auth-credential-helper-pod"></a>

Amazon ECR 提供可與 Podman 搭配使用的 Docker 登入資料協助程式。登入資料協助程式可讓您在將映像推送和提取至 Amazon ECR 時，更輕鬆地存放和使用 Docker 登入資料。如要了解安裝和設定步驟，請參閱 [Amazon ECR Docker 憑證協助程式](https://github.com/awslabs/amazon-ecr-credential-helper)。

**重要**  
Podman 僅部分支援 docker-creds-helper 規格。Podman 支援 Docker 組態中的`credHelpers`關鍵字，但不支援 `credsStore`關鍵字。  
若要搭配 Podman 使用 Amazon ECR 登入資料協助程式，請使用下列`credHelpers`格式設定 Docker 組態檔案：  

```
{
    "credHelpers": {
        "public.ecr.aws": "ecr-login",
        "<aws_account_id>.dkr.ecr.<region>.amazonaws.com": "ecr-login"
    }
}
```
Podman 不支援下列`credsStore`組態：  

```
{
    "credsStore": "ecr-login"
}
```

**注意**  
Amazon ECR Docker 憑證協助程式目前不支援多重要素驗證 (MFA)。

## 使用 Podman 從 Amazon ECR 提取映像
<a name="pulling-images-from-ecr"></a>

身分驗證成功後，可以使用 ``podman pull``命令搭配完整的 Amazon ECR 儲存庫 URI 從 Amazon ECR 提取容器映像。

```
podman pull aws_account_id.dkr.ecr.region.amazonaws.com/repository_name:tag
```

## 使用 執行 Amazon ECR 的容器 Podman
<a name="running-containers-ecr"></a>

提取所需的映像後，可以使用 ``podman run``命令執行個體化容器。

```
podman run -d aws_account_id.dkr.ecr.region.amazonaws.com/repository_name:tag
```

## 使用 將映像推送至 Amazon ECR Podman
<a name="pushing-images-to-ecr"></a>

若要將本機映像推送至 Amazon ECR，必須先使用 以 Amazon ECR 儲存庫 URI 標記映像``podman tag``，然後使用 ``podman push``命令將映像上傳至 Amazon ECR。

```
podman tag local_image:tag aws_account_id.dkr.ecr.region.amazonaws.com/repository_name:tag 
podman push aws_account_id.dkr.ecr.region.amazonaws.com/repository_name:tag
```