更新时间:2024-04-30 GMT+08:00
分享

镜像老化

操作场景

现代软件开发多采用流水线生成镜像,随着版本不断向前迭代,将会不断生成新的镜像版本。新版本镜像的生成意味着老旧版本的镜像变得不再需要,如何方便快速的删除这些老旧版本镜像成为了新的问题。容器镜像服务企业版提供镜像老化功能,您可以创建镜像老化规则,手动或定时触发该规则,根据规则老化删除不需要的镜像。

约束与限制

每个命名空间下仅允许创建一个老化规则。

创建老化规则

  1. 登录容器镜像服务控制台,单击左侧菜单栏“企业版”,然后单击仓库名称进入仓库详情页面。
  2. 在左侧导航栏选择“运维中心 > 镜像老化”
  3. 在右上角单击“创建老化规则”
  4. 填写具体规则。

    表1 参数说明

    参数名称

    说明

    示例

    规则名称

    老化规则的名称。

    AgingRule

    命名空间

    选择要老化的镜像所在的命名空间。

    library1

    规则范围

    镜像:镜像名称,默认使用正则表达式匹配。单击可手动选择镜像。

    正则表达式规则可填写如nginx-* 、{repo1, repo2} 等,其中:

    • *:匹配不包含路径分隔符“/”的任何字段。
    • **:匹配包含路径分隔符“/”的任何字段。
    • ?:匹配任何单个非“/”的字符。
    • {选项1, 选项2, ...}:同时匹配多个选项。

    版本:镜像的版本,同样使用正则表达式匹配,匹配规则与镜像相同。

    nginx-*

    老化条件

    选择执行的老化条件,有如下条件可选择:

    • 保留最近推送的#个镜像版本
    • 保留最近拉取的#个镜像版本
    • 保留最近#天被推送过的
    • 保留最近#天被拉取过的

    其中“#”为变量,取值为下面“版本数”“保留天数”的值。

    保留最近推送的#个镜像版本

    版本数

    老化条件为“保留最近推送的#个镜像版本”“保留最近拉取的#个镜像版本”需设置。

    10

    保留天数

    老化条件为“保留最近#天被推送过的”“保留最近#天被拉取过的”需设置。

    10

    触发模式

    • 手动:手动触发,规则创建完成后需要您手动单击执行。
    • 定时 + 手动:定时即为设置周期性定时老化。

    定时 + 手动

    定时

    触发模式为“定时 + 手动”时可以设置。

    -

    图1 创建老化规则

  5. 单击“确定”完成规则创建。

老化规则示例

  • 示例1:

    选择library命名空间中,名称以“nginx-”开头所有版本的镜像(版本*表示选择所有版本),保留最近拉取的10个镜像版本,其余镜像全部删除,且需要手动触发执行。

  • 示例2:

    选择library命名空间中,nginx和busybox所有版本的镜像(版本不填写表示选择所有版本),保留最近10天被推送过的镜像,其余镜像全部删除,每周日0时0分执行该规则,且可以手动触发执行。

管理老化规则

成功创建后即可在“镜像老化”页面查看已创建的老化规则,您可以执行以下操作管理老化规则。

图2 老化规则
图3 任务详情
  • 查看老化任务:当老化规则被触发时,符合规则范围的镜像将被删除。老化任务包含的信息如下:
    表2 老化任务

    参数

    说明

    任务ID

    仓库内唯一的老化执行任务ID。

    状态

    任务完成状态。

    触发模式

    手动或自动。

    单击“执行”“模拟”为手动方式,通过规则定义的周期自动执行,则为自动方式。

    模拟

    是或否。

    单击“模拟”则为是,单击“执行”则为否。模拟可用于确认规则是否生效,但不实际清理镜像版本。

    持续时间

    完成一次任务消耗的时间。

    创建时间

    老化任务被触发的时间。

    操作

    详情:任务详细信息,单击后在侧边栏可查看哪些镜像被删除(“老化数”非0,说明有镜像被删除)。

  • 修改规则状态:表示规则启用,表示规则关闭。新创建的老化规则默认为启用状态,您可以自行调整。
  • 执行:真实执行。为避免误操作,建议在首次执行老化规则前模拟执行。
  • 模拟:模拟执行。可用于确认规则是否生效,但不实际清理镜像版本。
  • 编辑:重新编辑老化规则,除“命名空间”外,其余参数均可编辑。
  • 删除:删除该老化规则。
分享:

    相关文档

    相关产品