镜像老化
操作场景
镜像上传后,您可以添加镜像老化规则。容器镜像服务提供了如下两种类型的镜像老化处理规则,规则设置完成后,系统会根据已定义的规则自动执行镜像老化操作。
- 存活时间:设置该类型的老化规则后,留存时间超过指定时间的老旧镜像将被删除。
- 版本数目:设置该类型的老化规则后,留存镜像超过指定值时,老旧镜像将被删除。
此外,对于特定版本的镜像可通过添加过滤策略来保留,免受老化规则的影响。
约束与限制
一个镜像仅支持添加一个老化规则。如需添加新的老化规则,需要删除已有老化规则。
操作步骤
- 登录容器镜像服务控制台。
- 在左侧导航栏选择“我的镜像”,单击右侧镜像名称,进入镜像详情页。
- 选择“镜像老化”页签,单击“添加规则”,根据表1填写相关参数,然后单击“确定”。
图1 创建老化规则
表1 添加镜像老化规则 参数
说明
规则类型
分为存活时间和版本数目。
- 存活时间:设置该类型的老化规则后,留存时间超过指定时间的老旧镜像将被删除。
- 版本数目:设置该类型的老化规则后,留存镜像超过指定值时,老旧镜像将被删除。
保留天数
镜像留存的最大天数,可设置为1~365的整数。规则类型设置为“存活时间”时,需要配置此参数。
保留数目
镜像留存的最大数目,可设置为1~1000的整数。规则类型设置为“版本数目”时,需要配置此参数。
过滤标签
输入将被过滤的镜像版本,在应用老化规则前指定版本的镜像将被过滤掉。
过滤正则
输入将被过滤的版本正则式,在应用老化规则前所有版本号满足正则表达式的镜像将被过滤掉。
镜像老化规则添加成功后,系统会立即进行一次查询,清理掉符合老化规则的镜像,且在“老化日志”中显示清理结果。
图2 查看规则列表和老化日志
示例1:规则类型为“存活时间”
假设“nginx”镜像包含两个版本:v1和v2,更新时间如下图:
示例2:规则类型为“版本数目”,且设置“过滤正则”
假设“nginx”镜像包含四个版本:v1、v2、v1.0.0、v2.0.0,如下图:
- 添加老化规则。
规则类型为“版本数目”,保留数目为“1”,过滤正则为:^v2.*(匹配以v2开头的版本号)。
图7 创建老化规则-版本数目
- 确认规则是否生效。
因为v2和v2.0.0版本匹配设置的正则表达式,在应用老化规则前会被过滤掉,v1和v1.0.0版本只会保留一个,v1更老旧,因此会被清除掉。
查看“老化日志”和“镜像版本”,v1版本被清除,说明老化规则已生效。
图8 镜像版本示例
这里给出几个过滤正则表达式以供参考:
- 匹配版本号为数字的版本:^[0-9]*$
- 匹配版本号长度为2-5的所有版本:^.{2,5}$
- 匹配由26个小写英文字母组成的版本号:^[a-z]+$
- 匹配版本号为英文和数字的版本:^[A-Za-z0-9]+$
在写正则表达式"或"(“|”)的时候请加上括号,如果不加括号会导致老化删除掉该镜像下所有版本。
例如:镜像版本只需要保留包含a或者包含s的版本,此时正则表达式可写成:(.*a.*|.*s.*)。