镜像老化
操作场景
现代软件开发多采用流水线生成镜像,随着版本不断向前迭代,将会不断生成新的镜像版本。新版本镜像的生成意味着老旧版本的镜像变得不再需要,如何方便快速的删除这些老旧版本镜像成为了新的问题。容器镜像服务企业版提供镜像老化功能,您可以创建镜像老化规则,手动或定时触发该规则,根据规则老化删除不需要的镜像。
约束与限制
每个命名空间下仅允许创建一个老化规则。
创建老化规则
- 登录容器镜像服务控制台,单击左侧菜单栏“企业版”,然后单击仓库名称进入仓库详情页面。
- 在左侧导航栏选择“运维中心 > 镜像老化”。
- 在右上角单击“创建老化规则”。
- 填写具体规则。
表1 参数说明 参数名称
说明
示例
规则名称
老化规则的名称。
AgingRule
命名空间
选择要老化的镜像所在的命名空间。
library1
规则范围
镜像:镜像名称,默认使用正则表达式匹配。单击可手动选择镜像。
正则表达式规则可填写如nginx-* 、{repo1, repo2} 等,其中:
- *:匹配不包含路径分隔符“/”的任何字段。
- **:匹配包含路径分隔符“/”的任何字段。
- ?:匹配任何单个非“/”的字符。
- {选项1, 选项2, ...}:同时匹配多个选项。
版本:镜像的版本,同样使用正则表达式匹配,匹配规则与镜像相同。
nginx-*
老化条件
选择执行的老化条件,有如下条件可选择:
- 保留最近推送的#个镜像版本
- 保留最近拉取的#个镜像版本
- 保留最近#天被推送过的
- 保留最近#天被拉取过的
其中“#”为变量,取值为下面“版本数”和“保留天数”的值。
保留最近推送的#个镜像版本
版本数
老化条件为“保留最近推送的#个镜像版本”和“保留最近拉取的#个镜像版本”需设置。
10
保留天数
老化条件为“保留最近#天被推送过的”和“保留最近#天被拉取过的”需设置。
10
触发模式
- 手动:手动触发,规则创建完成后需要您手动单击执行。
- 定时 + 手动:定时即为设置周期性定时老化。
定时 + 手动
定时
触发模式为“定时 + 手动”时可以设置。
-
图1 创建老化规则
- 单击“确定”完成规则创建。
老化规则示例
管理老化规则
成功创建后即可在“镜像老化”页面查看已创建的老化规则,您可以执行以下操作管理老化规则。
- 查看老化任务:当老化规则被触发时,符合规则范围的镜像将被删除。老化任务包含的信息如下:
表2 老化任务 参数
说明
任务ID
仓库内唯一的老化执行任务ID。
状态
任务完成状态。
触发模式
手动或自动。
单击“执行”或“模拟”为手动方式,通过规则定义的周期自动执行,则为自动方式。
模拟
是或否。
单击“模拟”则为是,单击“执行”则为否。模拟可用于确认规则是否生效,但不实际清理镜像版本。
持续时间
完成一次任务消耗的时间。
创建时间
老化任务被触发的时间。
操作
详情:任务详细信息,单击后在侧边栏可查看哪些镜像被删除(“老化数”非0,说明有镜像被删除)。
- 修改规则状态:表示规则启用,表示规则关闭。新创建的老化规则默认为启用状态,您可以自行调整。
- 执行:真实执行。为避免误操作,建议在首次执行老化规则前模拟执行。
- 模拟:模拟执行。可用于确认规则是否生效,但不实际清理镜像版本。
- 编辑:重新编辑老化规则,除“命名空间”外,其余参数均可编辑。
- 删除:删除该老化规则。