IBM Cloud:如何管控Code Engine构建产生的容器镜像数量?
清理IBM Cloud容器注册表镜像的方法
一、手动清理现有镜像
- 批量删除指定镜像:先用
ibmcloud cr images列出所有镜像,筛选出旧版本或不再使用的镜像,再用ibmcloud cr image-rm <镜像完整名称>批量删除。比如要删除所有标签为dev的镜像,可结合管道命令快速处理:ibmcloud cr images --format "{{.Repository}}:{{.Tag}}" | grep dev | xargs ibmcloud cr image-rm - 自动清理未使用镜像:使用
ibmcloud cr image-prune命令,它会自动删除没有被部署、服务或其他资源关联的镜像。执行前可加--dry-run参数预览要删除的镜像,确认无误后再正式执行。
二、配置Code Engine自动限制镜像保留数量
在Code Engine构建任务中设置镜像保留策略,自动清理旧镜像:
- 创建新构建任务时,通过
--max-image-count参数指定每个构建保留的镜像数量,比如:
这样每次新构建完成后,只会保留最新的5个镜像,超出的旧镜像会被自动删除。ibmcloud ce build create --name my-app-build --max-image-count 5 - 对已有的构建任务,使用
update命令修改保留数量:ibmcloud ce build update --name my-app-build --max-image-count 3
三、减少不必要的镜像生成
- 优化构建触发规则:只在代码有实质性变更时触发构建,比如限制构建只监听主分支或特定标签的提交,避免无效构建产生冗余镜像。
- 采用多阶段构建:虽然主要作用是减小镜像体积,但也能间接降低存储压力,同时让镜像更轻量化。
注意事项
清理镜像前,务必确认目标镜像没有被正在运行的应用、服务或作业关联,可通过ibmcloud cr image-inspect <镜像完整名称>查看镜像的关联资源,避免影响正常服务。
内容的提问来源于stack exchange,提问作者data_henrik
相关产品推荐
相关产品推荐

