Update content

This commit is contained in:
Baohua Yang
2026-03-02 21:56:46 -08:00
parent 3894ba56bc
commit 0d2654fbf2
4 changed files with 32 additions and 48 deletions

View File

@@ -45,7 +45,8 @@ $ docker pull nginx:alpine
```bash
$ docker login
## 输入用户名和密码
## 默认情况下,不带其它参数进行 docker login 会自动走 Device Code Web Flow (浏览器认证)
## 若在非交互 CI 环境中,推荐结合 --username 与 --password-stdin 参数使用
...
```
@@ -76,10 +77,18 @@ $ docker push username/myapp:v1
| **免费账户** (已登录) | 6 小时 200 次请求 |
| **Pro/Team 账户** | 无限制 |
> **提示**如果在 CI/CD 环境中遇到 `toomanyrequests` 错误建议
> 1. CI 中配置 `docker login`
> 2. 使用国内镜像加速器
> 3. 搭建私有仓库代理
#### 滥用限流 (Abuse Rate Limit)
除了上述针对特定账号拉取镜像数量的 Pull Rate Limit 之外Docker Hub 对所有用户包含已认证及付费用户还实施了**滥用保护限流 (Abuse Rate Limiting)**它是根据网络出口 IP (IPv4 IPv6 /64 子网) 计算整体请求频率阈值动态触发通常为每分钟数千级别请求
**两类的差异与排查方法**
- **Pull Rate Limit**针对拉取量达到上限报错返回 `429 Too Many Requests`并且 HTTP 返回体/CLI 错误提示中会带有明确的 `toomanyrequests: You have reached your pull rate limit` 提示常附有账户升级链接
- **Abuse Rate Limit**防范接口频率打击报错仅返回简化的 `429 Too Many Requests`这一限流不分付费与否常发生在多终端共享出口 IP的企业局域网或者第三方云 CI 服务 GitHub Actions 即使你已正常配置 `docker login` 也依旧可能触发
> **提示**如果在 CI/CD 等环境遇到 429 错误建议
> 1. 先甄别具体是哪类限流普通的 pull rate limit 只要在 CI 中配置 `docker login` (并使用有效账号) 就能解除匿名限制
> 2. 如果是 Abuse 频控导致应考虑搭建私有仓库作为拉取缓存代理 (Registry pull-through cache)避免频繁直接请求官方 Hub
> 3. 使用国内镜像加速器
---

View File

@@ -1,5 +1,7 @@
## 本章小结
本章介绍了 Docker Hub 的使用私有仓库的搭建以及 Nexus 3 等企业级方案
| 功能 | 说明 |
|------|------|
| **官方镜像** | 优先使用的基础镜像 |
@@ -7,9 +9,7 @@
| **安全** | 推荐开启 2FA 并使用 Access Token |
| **自动化** | 支持 Webhooks 和自动构建 |
### 6.5.1 概述
### 6.5.2 延伸阅读
### 延伸阅读
- [私有仓库](6.2_registry.md)搭建自己的 Registry
- [镜像加速器](../03_install/3.9_mirror.md)加速下载