Help us learn about your current experience with the documentation. Take the survey.
减少容器镜像的依赖代理存储
- Tier: Free, Premium, Ultimate
- Offering: GitLab.com, GitLab Self-Managed, GitLab Dedicated
对于 blobs 没有自动删除流程。除非手动删除,它们会无限期存储。本文介绍了几种清理缓存中未使用项的选项。
检查依赖代理存储使用情况
使用配额 页面显示容器镜像依赖代理的存储使用情况。
使用 API 清理缓存
要回收不再需要的镜像 blob 占用的磁盘空间,请使用 依赖代理 API 清理整个缓存。如果清理缓存,下次管道运行时必须从 Docker Hub 拉取镜像或标签。
清理策略
在 GitLab 内启用清理策略
您可以通过用户界面为容器镜像的依赖代理启用自动生存时间(TTL)策略。为此,转到您组的 设置 > 包和注册表 > 依赖代理, 并启用设置以在 90 天后自动清除缓存中的项目。
使用 GraphQL 启用清理策略
清理策略是一个计划任务,可用于清除不再使用的缓存镜像,释放额外的存储空间。这些策略使用生存时间(TTL)逻辑:
- 配置天数。
- 删除所有在指定天数内未被拉取的缓存依赖代理文件。
使用 GraphQL API 来启用和配置清理策略:
mutation {
updateDependencyProxyImageTtlGroupPolicy(input:
{
groupPath: "<your-full-group-path>",
enabled: true,
ttl: 90
}
) {
dependencyProxyImageTtlPolicy {
enabled
ttl
}
errors
}
}请参阅 GraphQL 入门 指南,了解如何进行 GraphQL 查询。
策略首次启用时,默认 TTL 设置为 90 天。启用后,过期的依赖代理文件每天都会排队等待删除。由于处理时间,删除可能不会立即发生。如果在缓存文件被标记为过期后拉取镜像,则忽略这些过期文件,并从外部注册表下载并缓存新文件。