Spring boot 如何清除通过Jenkins CI/CD创建的过时docker映像?
如何清除通过Jenkins CI/CD创建的过时docker映像 我创建了一个CI/CD Jenkins管道,它执行以下任务Spring boot 如何清除通过Jenkins CI/CD创建的过时docker映像?,spring-boot,docker,jenkins,continuous-integration,Spring Boot,Docker,Jenkins,Continuous Integration,如何清除通过Jenkins CI/CD创建的过时docker映像 我创建了一个CI/CD Jenkins管道,它执行以下任务 运行渐变构建。gradle构建完成下一组任务 构建几个springboot微服务 为每个微服务创建docker映像 它将图像推送到私有Docker注册表 执行helm模板以创建/刷新k8s群集中的k8s部署 而整个过程运作良好。我正在为几个场景寻找解决方案 因为它是CI/CD,所以每次代码推送都会触发构建。因此,私有注册表中的docker映像也将被创建,并最终耗尽所有
- 构建几个springboot微服务
- 为每个微服务创建docker映像
- 它将图像推送到私有Docker注册表
解决此问题的一种方法是使用不同的jenkins工作,尤其是为了删除旧图像 这项工作可能会,比如说每晚,每周一次,等等,这取决于你担心自己空间不够用的速度 关于如何删除图像,请查看带有
--filter
选项的docker image prune
命令,如中所述。这将允许您仅删除图像,例如,超过7天的图像等
希望有帮助 我认为下面应该是前进的方向
docker image prune用于清除驻留在Jenkins slave上的图像。我想清除私有Docker注册表中的映像。
Docker
命令实际上是一个与Docker服务器通信的客户端。现在,是的,在大多数情况下,它与运行在同一个VM中的服务器通信,但是,您可以使用docker\u HOST
env var配置docker客户端连接到的位置-例如,请参见此处:此处的示例如何设置:这适用于VM/机器上的映像,但不适用于docker注册表您的docker注册表是否在创建映像的同一VM/机器上可用?否。docker映像是在中创建的Jenkins从机和被推送到运行在不同VMrefer和answer中的私有注册表,由Yavuz Sert发布