版本保留
更新时间:2026-04-14
文档内容
用户在使用 CCR 的过程中,随着业务的快速迭代,将会产生大量的镜像版本。其中很多老旧的镜像版本随着时间推移不再被使用,这些多余的版本有存储成本,同时也会给镜像管理带来一定的负担。您可以使用版本保留功能进行定期清理。
注意事项
- 通过创建保留规则,执行规则时会自动删除保留规则范围外的镜像版本。版本保留功能不会自动清理存储空间,如需清理存储空间,请配置制品清理策略,详见:制品清理。
- 保留规则执行后,被删除的镜像版本将无法拉取。为了避免镜像误删除,建议针对关键镜像先执行模拟执行,确认镜像清理范围后再正式执行。
- 镜像仓库中可能存在不同镜像版本对应相同 Artifact 制品的情况。保留规则执行时,如果一个镜像版本满足清理规则,则共用相同 Artifact 制品的镜像版本都会被删除。
- 保留规则执行期间,不建议同时手动删除镜像版本,否则可能导致最终保留结果与预期不一致。
前提条件
操作步骤
- 登录百度智能云控制台,选择“产品服务 > 容器镜像服务 > CCR”。
- 进入目标实例,点击“仓库管理”,选择“版本保留”。
- 点击“创建规则”按钮,选择命名空间后,您可选择使用简易模式或高级模式创建保留规则。
简易模式
| 参数 | 必填 | 说明 |
|---|---|---|
| 命名空间 | 是 | 选择需要创建版本保留规则的命名空间。 |
| 保留版本 | 否 | 默认为当前命名空间内全部仓库及版本。 |
| 保留策略 | 是 | 支持保留最新推送的 n 个版本、保留 n 天内推送的版本、保留最新拉取的 n 个版本、保留 n 天内被拉取过的版本。 |
| 执行周期 | 是 | 支持手动执行、每天、每周或每月执行。每天为每日零点,每周默认为周一零点,每月为每月第一天零点。 |
高级模式
| 参数 | 必填 | 说明 |
|---|---|---|
| 命名空间 | 是 | 选择需要创建版本保留规则的命名空间。 |
| 仓库过滤 | 否 | 支持使用正则表达式匹配需要纳入规则的仓库。 |
| 版本过滤 | 否 | 支持使用正则表达式匹配需要纳入规则的版本。 |
| 保留策略 | 是 | 支持保留最新推送的 n 个版本、保留 n 天内推送的版本、保留最新拉取的 n 个版本、保留 n 天内被拉取过的版本。 |
| 执行周期 | 是 | 支持手动执行、每天、每周或每月执行。每天为每日零点,每周默认为周一零点,每月为每月第一天零点。 |
高级模式最多可设置 15 条保留规则,最终生效范围为多条规则结果的并集。
- 确认配置无误后完成规则创建。如果当前实例下暂无任何规则,页面会显示“暂无任何规则”,您可以单击 【创建保留规则】 补充配置。
- 在 【版本保留】 列表页,您可以查看已创建规则,并执行、编辑或删除现有规则。列表中可查看以下信息:
| 参数 | 必填 | 说明 |
|---|---|---|
| 保留规则 | 否 | 展示规则摘要。 |
| 命名空间 | 否 | 展示规则所属命名空间。 |
| 执行周期 | 否 | 展示手动、每天、每周或每月等执行方式。 |
| 规则状态 | 否 | 支持直接切换启用或禁用。禁用状态下,【执行】 按钮不可用。 |
| 操作 | 否 | 提供 【执行】、【编辑】、【删除】。 |
- 单击目标规则的 【执行】,打开执行记录抽屉。
注意: 版本保留执行后,会自动删除规则外的镜像版本。被删除的镜像版本将无法拉取。为避免误删,建议先单击 【模拟执行】,确认清理范围后再单击 【立即执行】。
执行记录中可查看以下信息:
| 参数 | 必填 | 说明 |
|---|---|---|
| 执行状态 | 否 | 展示当前执行结果。 |
| 执行方式 | 否 | 展示触发方式。 |
| 执行类型 | 否 | 展示模拟执行或实际执行。 |
| 创建时间 | 否 | 展示执行记录创建时间。 |
- 展开某条执行记录后,可查看仓库级任务列表,并可单击 【查看日志】 查看明细。任务列表中可查看以下信息:
| 参数 | 必填 | 说明 |
|---|---|---|
| 仓库 | 否 | 展示当前任务对应的镜像仓库。 |
| 执行状态 | 否 | 展示仓库级任务执行结果。 |
| 任务耗时 | 否 | 展示任务执行耗时。 |
| 保留数/总数 | 否 | 展示本次任务保留结果统计。 |
| 创建时间 | 否 | 展示任务创建时间。 |
在日志明细中,Retention 列用于标识每个版本的处理结果:RETAIN 表示保留,DEL 表示将删除。
- 单击 【编辑】,可修改 保留规则、具体保留条件、执行周期 和 启用规则;其中 保留规则 支持切换简易配置或高级配置,编辑状态下 命名空间 为只读展示。单击 【删除】 后,系统会弹出“删除版本保留规则”确认框,确认无误后即可删除该规则。
版本保留配置参考
正则表达式
当通过高级模式配置版本保留规则,填写 仓库 和 版本 过滤规则时,其正则表达式支持以下匹配规则:
*:匹配所有不包含路径分隔符/的任意长度字符串。**:匹配所有任意长度字符串,包括路径分隔符/。?:匹配除/以外的任意单个字符。{str1, str2, ...}:同时匹配多个正则表达式。
注意:
**必须作为一段完整的相对路径。如果使用/ccr**,其作用等同于/ccr*,仅能匹配以ccr为名称前缀的一级仓库。要匹配ccr下的所有仓库,应使用/ccr/**;要匹配以ccr为名称前缀的所有仓库,应使用/ccr*/**。
典型场景
| 过滤类型 | 场景 | 正则表达式 |
|---|---|---|
| 仓库过滤规则 | 匹配当前命名空间内所有镜像仓库 | ** 或者不填 |
| 匹配选定命名空间内以 ccr 为名称前缀的所有一级仓库 | ccr* | |
| 匹配选定命名空间内以 ccr1 和 ccr2 为名称前缀的所有一级仓库 | {ccr1, ccr2} | |
| 匹配选定命名空间内 ccr1 和 ccr2 目录下的所有仓库 | {ccr1, ccr2}/** | |
| 匹配选定命名空间内以 ccr1 和 ccr2 为名称前缀的所有仓库 | {ccr1, ccr2}*/** | |
| 版本过滤规则 | 匹配选定仓库内所有 1.x 的版本Tag | 1.? |
| 匹配选定仓库内所有以 dev1 和 dev2 为名称前缀的版本 Tag | {dev1, dev2} |
FAQ
1. 保留结果如何查看?
在 【版本保留】 页面,单击目标规则的 【执行】,打开执行记录抽屉。执行完成后,展开对应记录即可查看仓库级任务信息,并可单击 【查看日志】 核对明细日志中的 Retention 列。RETAIN 表示保留,DEL 表示将删除。
如下图所示:

2. 如何确认镜像清理操作不会误删重要镜像?
在执行镜像清理之前,建议先单击 【模拟执行】,确认将要删除的镜像范围及清理时间,再执行实际清理,以避免误删关键镜像。
评价此篇文章
