

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 在 Amazon ECR 中为存储库创建生命周期策略
<a name="lp_creation"></a>

 使用生命周期策略创建一组规则，使未使用的存储库映像过期或存档。创建生命周期策略后，受影响的图像将在 24 小时内过期或存档。

**注意**  
如果您使用 Amazon ECR 复制功能跨不同的区域或账户创建存储库的副本，请注意，生命周期策略可能仅对创建该策略的区域中的存储库执行操作。因此，如果您开启了复制功能，则建议在要将存储库复制到的每个区域和账户中创建一个生命周期策略。

## 先决条件
<a name="lp-creation-prerequisite"></a>

**最佳实践：**创建生命周期策略预览，以验证生命周期策略规则过期或存档的图像是否符合您的预期。有关说明，请参阅[在 Amazon ECR 中创建生命周期策略预览](lpp_creation.md)。

## 创建生命周期策略 (Amazon Web Services 管理控制台)
<a name="lp-creation-console"></a>

1. 在[https://console.aws.amazon.com/ecr/存储库](https://console.amazonaws.cn/ecr/repositories)中打开 Amazon ECR 控制台。

1. 从导航栏中，选择包含要对其创建生命周期策略的存储库的区域。

1. 在导航窗格中的**私有注册表**下，选择**存储库**。

1. 在**私有存储库**页面上选择一个存储库，然后使用**操作**下拉列表选择**生命周期策略**。

1. 在该存储库的生命周期策略页面上，选择**创建规则**。

1. 输入生命周期策略规则的以下详细信息。

   1. 对于**规则优先级**，输入该规则优先级的编号。规则优先级决定了生命周期策略规则的应用顺序。规则优先级数字越小，优先级越高。例如，优先级为 1 的规则优先于优先级为 2 的规则。

   1. 对于**规则描述**，输入该生命周期策略规则的说明。

   1. 对于**映像状态**，选择**已标记（通配符匹配）**、**已标记（前缀匹配）**、**未标记**或**任意**。
**重要**  
如果指定多个标签，则仅选择具有所有指定标签的镜像。

   1. 如果**映像状态**选择的是**已标记（通配符匹配）**，则对于**指定用于通配符匹配的标签**，您可以指定带有通配符（**\***）的映像标签列表，以便根据您的生命周期策略执行操作。例如，假设您的映像标记为 `prod`、`prod1`、`prod2` 等，则可以指定 `prod*` 来对所有这些映像执行操作。如果指定多个标签，则仅选择具有所有指定标签的镜像。
**重要**  
每个字符串最多可以使用四个通配符（`*`）。例如，`["*test*1*2*3", "test*1*2*3*"]` 有效，而 `["test*1*2*3*4*5*6"]` 无效。

   1. 如果**映像状态**选择的是**已标记（前缀匹配）**，则对于**指定用于前缀匹配的标签**，您可以指定一个映像标签列表，以便根据您的生命周期策略执行操作。

   1. 在 “**匹配条件**” 中，选择 “**自图像创建**以来的**天数”、“自上次记录提取时间**以**来的天数”、“图像存档**后的天数” 或 “**图像计数**”，然后指定一个值。

   1. 对于 “**规则” 操作**，选择 “**过期**” 或 “**存档**”。

   1. 选择**保存**。

1. 重复步骤 5-7 以创建其他生命周期策略规则。

## 创建生命周期策略 (Amazon CLI)
<a name="lp-creation-cli"></a>

1. 获取要为其创建生命周期策略的存储库的名称。

   ```
   aws ecr describe-repositories
   ```

1. 创建名为 `policy.json` 的本地文件，其中包含生命周期策略的内容。有关生命周期策略示例，请参阅 [Amazon ECR 中的生命周期策略的示例](lifecycle_policy_examples.md)。

1. 通过指定存储库名称并引用创建的生命周期策略 JSON 文件来创建生命周期策略。

   ```
   aws ecr put-lifecycle-policy \
         --repository-name {{repository-name}} \
         --lifecycle-policy-text file://{{policy.json}}
   ```