返回
删除Harbor中无用镜像,释放存储空间
后端
2024-02-08 19:53:57
释放存储空间,优化镜像管理
Harbor是一个流行的企业级私有镜像仓库,帮助开发团队存储和管理镜像。随着时间的推移,开发人员会创建大量的镜像,占用大量存储空间。一些镜像不再使用,但它们仍然占据着宝贵的磁盘空间。为了释放存储空间并优化镜像管理,需要定期删除无用的镜像。Harbor提供了一个API接口,可以用于批量删除镜像,从而简化和自动化这一过程。
使用Harbor API批量删除镜像
本节将介绍如何使用Harbor API批量删除镜像。我们将使用curl命令行工具,但您也可以使用其他支持HTTP请求的工具。
1. 准备工作
在开始之前,需要确保您具有Harbor管理员权限。还需要知道要删除的镜像的ID或名称。您可以通过Harbor的Web界面或API来查找镜像的ID或名称。
2. 获取Harbor API令牌
要使用Harbor API,需要获取一个API令牌。您可以通过Harbor的Web界面或API来创建API令牌。
3. 构建curl命令
现在,可以构建curl命令来删除镜像。命令的基本格式如下:
curl -X DELETE "http://harbor.example.com/api/v2.0/projects/project_name/repositories/repo_name/artifacts/artifact_id" -H "Authorization: Bearer {token}"
其中:
http://harbor.example.com
:Harbor实例的URL。project_name
:要删除镜像的项目名称。repo_name
:要删除镜像的仓库名称。artifact_id
:要删除的镜像的ID。{token}
:Harbor API令牌。
例如,要删除名为my-project
的项目中的my-repo
仓库中的123456789
镜像,可以构建以下命令:
curl -X DELETE "http://harbor.example.com/api/v2.0/projects/my-project/repositories/my-repo/artifacts/123456789" -H "Authorization: Bearer {token}"
4. 执行curl命令
使用以下命令执行curl命令:
curl -X DELETE "http://harbor.example.com/api/v2.0/projects/project_name/repositories/repo_name/artifacts/artifact_id" -H "Authorization: Bearer {token}"
如果命令执行成功,Harbor将返回一个200 OK响应码。
5. 批量删除镜像
如果需要批量删除镜像,可以使用以下步骤:
- 将要删除的镜像的ID或名称放入一个文本文件中。
- 使用以下命令执行curl命令:
curl -X DELETE "http://harbor.example.com/api/v2.0/projects/project_name/repositories/repo_name/artifacts/$(cat file.txt)" -H "Authorization: Bearer {token}"
其中:
file.txt
:包含要删除的镜像的ID或名称的文本文件。
例如,要批量删除my-project
项目中的my-repo
仓库中的所有镜像,可以使用以下命令:
curl -X DELETE "http://harbor.example.com/api/v2.0/projects/my-project/repositories/my-repo/artifacts/$(cat file.txt)" -H "Authorization: Bearer {token}"
结语
通过使用Harbor API,您可以轻松地批量删除镜像,从而释放存储空间并优化镜像管理。这有助于确保Harbor的高效运行和合理的存储利用率。