镜像在业务演进的过程中会产生新的版本,随着镜像版本数量的增加,所消耗的存储成本和系统配额也会随之增加,最终导致镜像推送失败。定期清除不需要的镜像版本可以有效避免此类问题。
镜像仓库中每个 OCI 制品仓库可保存的镜像版本(Tag)数量有限,存储的镜像版本超过限制后,新的镜像版本无法上传。过多的镜像版本即会加大镜像维护的工作量,也会加大存储的成本。建议您使用 版本保留规则,自动清理镜像版本,保证镜像版本配额的充足,以免影响镜像的上传。
本文以正则匹配维度的清理策略为例,在 repo
OCI 制品仓库,每周日的零时 保留版本号 以 tag 开头 的镜像,即保留例如 tag1
、tag2
等版本的镜像。
镜像清理的方式十分灵活,可以满足不同场景中的镜像清理需求。当前支持基于数量维度、时间维度和正则匹配维度,在实例、命名空间或 OCI 制品仓库中清理镜像。
清理方式
latest
和 v*
。清理维度
已上传镜像至目标制品仓库,操作方法参见 使用标准版实例拉取和推送镜像 或 使用体验版实例推送和拉取镜像。
登录 镜像仓库控制台。
在顶部导航栏,选择目标地域。
在左侧导航栏单击 版本管理 > 版本保留规则。
在 版本保留规则 页面,单击 创建版本保留规则。
填写版本保留规则参数。本示例参数配置如下图所示,效果为在 repo
OCI 制品仓库,每周日的零时 删除版本号 不以 tag 开头 的镜像。参数配置详细说明参见 版本保留规则管理。
单击 确定, 完成操作。
已设定定时执行的规则也支持手动触发。
自动执行:支持按照本示例设置的每周日零时自动执行清理。在版本保留规则列表页面的 触发方式 列,可查看定时执行的具体时间。
手动执行:您可以可手动触发镜像清理。在版本保留规则列表页面,单击 操作 列下的 执行,在二次确认页面单击 确定。
在 版本保留规则 页面单击目标规则的名称。
单击目标执行任务的 ID,查看已保留或已清理的镜像信息。
如果图所示,已按照创建的版本保留规则,保留了 tag1
、tag2 和 tag3
镜像版本,清理了其他的镜像版本。
清理前
清理后
正则规则 | 含义 |
---|---|
^release-([0-9.]+)$ | 以 release- 和阿拉伯数字拼接而成的镜像版本号,例如 release-1 。 |
^([0-9.]+)$ | 以阿拉伯数字为前缀的镜像版本号,例如 1 、11 等。 |
^tag.* | 以 tag 为前缀的镜像版本号,例如 tag2 。 |