无论如何都要从AzureDevops构建服务器中自动删除未使用的docker映像?



我们有多个AzureDevops Buildagents,它们用于docker映像构建和推送到acr作为构建管道的一部分。在发布阶段,这些构建的映像直接从ACR中提取并部署到AKS。但是不确定为什么devops构建代理仍然在其缓存目录中保存这些映像,这经常导致低磁盘问题。因此,寻找一种自动的方法,定期自动清理旧映像,例如,对于超过50天的映像,应该从构建代理中自动删除这些映像。我们有Azuredevops池维护任务来清理工作目录中过时的文件夹,同样的,我们也有一个开箱外的或自动化的方法来实现这一点。

理想情况下,您应该选择两种不同的策略:

  1. 在将本地构建的映像推送到远程注册表后删除它们
  2. 计划(每周或每月取决于你的空间运行速度有多快)docker image prune操作(你也可以过滤它https://docs.docker.com/config/pruning/#prune-images)和docker system prune操作(https://docs.docker.com/config/pruning/#prune-everything)

注意:修剪操作将导致您的第一个后续构建操作变慢(没有更多的缓存,没有更多的可重用层…)

最新更新