如何使用Docker镜像仓库的Quotas限制存储配额

轻浩酱_4539

轻浩酱_4539

2026-04-08

566人浏览

原创

harbor 从 v2.0 起支持项目级配额,需在 web ui 启用 quota management 并为项目手动配置存储上限(如 10gb),配额统计所有镜像层总大小,超限后仅拒绝 push,释放需等待或手动触发 gc。

如何使用docker镜像仓库的quotas限制存储配额

在 Harbor 等支持配额管理的 Docker 镜像仓库中,Quotas(配额)用于限制项目(Project)级别的存储使用上限,防止某个项目无限制占用磁盘空间。它不作用于单个镜像或用户,而是面向项目整体生效。

确认 Harbor 版本与配额功能可用性

Harbor 从 v2.0 开始正式支持项目级配额(Quota),需确保你使用的是 v2.0 或更高版本。旧版(如 v1.x)不支持该功能,升级前请备份数据并查阅官方升级文档。

  • 登录 Harbor Web UI → 左侧导航栏点击 Administration → Configuration,确认 Quota Management 已启用(默认开启)
  • 命令行可执行 curl -u admin:yourpassword https://your-harbor/api/v2.0/systeminfo,检查返回中 "quota_per_project_enabled": true

为项目设置存储配额

配额必须在项目创建后手动配置,新建项目时无法直接设定;已有项目也可随时修改。

  • 进入 Web UI → Projects → 点击目标项目名称 → 右上角点击 Configuration 标签页
  • 勾选 Enable Quota,输入期望的存储上限(单位:B / KB / MB / GB,例如 10GB)
  • 保存后,配额立即生效;若当前项目已超限,新推送(docker push)将被拒绝,并返回 413 Request Entity Too Large 或类似错误

配额行为与常见注意事项

配额统计的是项目下所有镜像层(layers)的总大小,包含历史标签、未被引用的悬空层(dangling layers)——即使删除了标签,只要层仍被其他标签引用或未被垃圾回收,就会计入配额。

  • 触发配额限制时,仅阻止新内容写入(push),不影响 pull、delete 或标签重命名等操作
  • 删除镜像或标签后,配额释放不是实时的;需等待 Harbor 的 GC(Garbage Collection)任务运行(默认每小时一次),或手动触发 GC(Administration → Garbage Collection → Schedule Now)
  • 配额不区分用户角色,所有成员共享同一上限;管理员也无法绕过配额推送

通过 API 管理配额(可选)

适合批量配置或集成 CI/CD 流程。使用 Harbor REST API v2.0 操作项目配额:

  • 查看项目配额:GET /api/v2.0/projects/{project_id}/quotas
  • 设置配额:PUT /api/v2.0/projects/{project_id}/quotas,请求体示例:
    {"hard": {"storage": 10737418240}}(即 10GB)
  • 需携带有效的管理员 Token(通过 /api/v2.0/users/current/permissions 或登录态 Cookie 认证)
PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
cookie
cookie

Cookie 是一种在用户计算机上存储小型文本文件的技术,用于在用户与网站进行交互时收集和存储有关用户的信息。当用户访问一个网站时,网站会将一个包含特定信息的 Cookie 文件发送到用户的浏览器,浏览器会将该 Cookie 存储在用户的计算机上。之后,当用户再次访问该网站时,浏览器会向服务器发送 Cookie,服务器可以根据 Cookie 中的信息来识别用户、跟踪用户行为等。

2023.06.30

11359

10

document.cookie获取不到怎么解决
document.cookie获取不到怎么解决

document.cookie获取不到的解决办法:1、浏览器的隐私设置;2、Same-origin policy;3、HTTPOnly Cookie;4、JavaScript代码错误;5、Cookie不存在或过期等等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2023.11.23

1006

5

阻止所有cookie什么意思
阻止所有cookie什么意思

阻止所有cookie意味着在浏览器中禁止接受和存储网站发送的cookie。阻止所有cookie可能会影响许多网站的使用体验,因为许多网站使用cookie来提供个性化服务、存储用户信息或跟踪用户行为。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2024.02.23

764

5

cookie与session的区别
cookie与session的区别

本专题整合了cookie与session的区别和使用方法等相关内容,阅读专题下面的文章了解更详细的内容。

2025.08.19

1846

14

curl_exec
curl_exec

curl_exec函数是PHP cURL函数列表中的一种,它的功能是执行一个cURL会话。给大家总结了一下php curl_exec函数的一些用法实例,这个函数应该在初始化一个cURL会话并且全部的选项都被设置后被调用。他的返回值成功时返回TRUE, 或者在失败时返回FALSE。

2023.06.14

3483

6

linux常见下载安装工具
linux常见下载安装工具

linux常见下载安装工具有APT、YUM、DNF、Snapcraft、Flatpak、AppImage、Wget、Curl等。想了解更多linux常见下载安装工具相关内容,可以阅读本专题下面的文章。

2023.10.30

775

4

登录token无效
登录token无效

登录token无效解决方法:1、检查token的有效期限,如果token已经过期,需要重新获取一个新的token;2、检查token的签名,如果签名不正确,需要重新获取一个新的token;3、检查密钥的正确性,如果密钥不正确,需要重新获取一个新的token;4、使用HTTPS协议传输token,建议使用HTTPS协议进行传输 ;5、使用双因素认证,双因素认证可以提高账户的安全性。

2023.09.14

12886

6

登录token无效怎么办
登录token无效怎么办

登录token无效的解决办法有检查Token是否过期、检查Token是否正确、检查Token是否被篡改、检查Token是否与用户匹配、清除缓存或Cookie、检查网络连接和服务器状态、重新登录或请求新的Token、联系技术支持或开发人员等。本专题为大家提供token相关的文章、下载、课程内容,供大家免费下载体验。

2023.09.14

1545

5

token怎么获取
token怎么获取

获取token值的方法:1、小程序调用“wx.login()”获取 临时登录凭证code,并回传到开发者服务器;2、开发者服务器以code换取,用户唯一标识openid和会话密钥“session_key”。想了解更详细的内容,可以阅读本专题下面的文章。

2023.12.21

3477

3

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
热门推荐
/
最新课程
phpStudy极速入门视频教程
phpStudy极速入门视频教程

共6课时 | 54.6万人学习

独孤九贱(4)_PHP视频教程
独孤九贱(4)_PHP视频教程

共89课时 | 133.4万人学习