【发布时间】:2019-10-18 15:12:18
【问题描述】:
如何清除通过 Jenkins CI/CD 创建的过时 docker 镜像?
我创建了一个 CI/CD Jenkins 管道,它执行以下任务
- 运行 gradle 构建。 gradle build 完成下一组任务
- 构建几个springboot微服务
- 为每个微服务创建一个 docker 镜像
- 它将图像推送到私有 Docker 注册表
- 执行 helm 模板以在 k8s 集群中创建/刷新 k8s 部署。
虽然整个过程运行良好。我正在为几个场景寻找解决方案。
- 由于是 CI/CD,每次代码推送都会触发构建。因此,私有注册表中的 docker 镜像也将被创建并最终耗尽所有磁盘空间。如何有条件地清除 docker 镜像?
- 如果开发了一个脚本以使用 docker REST API 来清除图像,我如何有条件地跳过以删除某些图像(例如:与标记的 Jenkins 构建相关的图像)
- 对于这项任务是否有任何建议或标准?
【问题讨论】:
标签: spring-boot docker jenkins continuous-integration