一、操作场景
版本保留规则支持两种保留策略,保留最新推送的#个版本和保留#天内推送的版本,并支持模拟执行。 同时,在高级配置模式下,可选对仓库、版本进行过滤,配合两种保留策略,实现更加灵活精确的版本管理。
二、注意事项
1. 版本保留功能将删除保留规则外的镜像版本。
2. 版本保留功能仅删除镜像版本信息,但不删除底层镜像数据,如需彻底清理镜像数据,请使用 清理 COS 存储空间功能。
三、创建版本保留规则
注意:镜像仓库可能存在一个镜像的多个版本完全相同的情况,例如同一镜像只是打了不同的 Tag,没有产生新的镜像层。这种不同 Tag 的镜像会有相同的唯一标识符 Digest。因此,不同 Tag 但相同 Digest 的镜像在物理上指向完全相同的镜像内容。当删除一个 Tag 后,镜像实体会被删除,相关的 Tag 和 Digest 也会被清理。
注意:对于TCR 版本保留规则的影响是,如果仓库中存在多个不同 Tag 但相同 Digest 的镜像,而规则要求保留最新的两个镜像,那么当删除一个 Tag 时,仓库中的所有镜像都会被删除。因此,如果你的镜像仓库存在同一 Digest 但不同 Tag 的镜像,请谨慎使用版本保留规则,或者暂时禁用已有的规则。
1. 登录 容器镜像服务 控制台,选择左侧导航栏中版本管理下的版本保留。
在版本保留页面即可查看当前实例内的版本保留规则列表。如需切换实例,请在页面上方的“实例名称”下拉列表中进行选择。
2. 单击新建规则,在新建版本保留规则窗口中,参考以下提示进行规则配置,可选两种配置模式:
简易配置高级配置
·所属实例:当前已选择实例。
·命名空间:版本保留规则生效的命名空间,单个命名空间内暂只能创建一条规则。
·配置模式:简易配置
·保留版本:默认不过滤,即命名空间内全部仓库及版本。
·保留策略:支持配置保留最新推送的#个版本,保留#天内推送的版本两种模式,并在指定版本数或天数。
·执行周期:版本保留规则的执行周期,支持手动执行,或每天、每周、每月执行。具体执行时间为:每天为每日零点,每周默认为周一零点,每月为每月第一天零点。
·启用规则:默认启用。
·所属实例:当前已选择实例。
·命名空间:版本保留规则生效的命名空间,单个命名空间内暂只能创建一条规则。
·配置模式:高级配置
·保留规则:支持配置多条保留规则,保留规则间取并集,即镜像版本满足任意一条保留规则,都将被保留。
·仓库过滤:支持匹配或排除部分仓库,使用正则过滤仓库名。“*”和“**”匹配任意长字符串,其中“*”不支持多级仓库名称匹配,“?”匹配除‘/’以外的任意单个字符。
·版本过滤:支持匹配或排除仓库内部分版本,使用正则过滤版本名,规则同仓库过滤。
·保留策略:支持配置保留最新推送的#个版本,保留#天内推送的版本两种模式,并在指定版本数或天数。
·执行周期:版本保留规则的执行周期,支持手动执行,或每天、每周、每月执行。
·启用规则:默认启用。
3. 单击确定即可创建版本保留规则。
四、管理版本保留规则
版本保留规则成功创建后即可在版本保留页面查看已创建的版本保留规则,你可执行以下操作管理版本保留规则。如下:
·查看规则执行日志:单击规则名称,即可查看该规则触发日志,详情请参见 查看执行日志。
·配置:重新配置实例版本保留规则,不可修改生效的命名空间。
·删除:删除该实例版本保留规则。
五、查看执行日志
1. 单击指定版本保留规则名称,即可查看该规则的触发日志。如下:
·任务ID:实例内唯一的版本保留执行任务 ID。
·创建时间:版本保留执行任务创建的时间。
·任务耗时:完成全部版本保留执行任务消耗的时间。
·执行方式:手动或自动,单击立即执行或模拟执行为手动方式,通过规则定义的周期自动执行,则为自动方式。
·执行类型:真实执行或模拟执行,模拟执行可用于确认规则是否生效,但不实际清理镜像版本。
·执行状态:任务完成状态。
2. 可单击指定任务 ID 查看任务详情,并可单击具体仓库查看执行日志。
六、相关文档
你还可以使用 CreateTagRetentionRule 接口创建版本保留规则。详细信息请参见 创建版本保留规则 API 文档。