Docker Hub限流危机:如何用私有镜像仓库实现无缝迁移?

第一章:Docker Hub 镜像拉取限制

Docker Hub 作为全球最广泛使用的容器镜像仓库,自2020年起对未认证用户实施了镜像拉取频率限制策略。该策略旨在防止滥用带宽资源,保障服务稳定性。未经认证的IP地址每6小时最多可拉取100个镜像层,而已认证的免费账户则提升至200层。超出限制后将收到 TOOMANYREQUESTS 错误,导致CI/CD流水线中断或部署失败。

识别拉取限制错误

当触发限流时,Docker 客户端会返回如下典型错误信息:

Error response from daemon: toomanyrequests: You have reached your pull rate limit. 
You may increase the limit by authenticating and upgrading: https://www.docker.com/increase-rate-limit
该提示表明当前网络环境已超过允许的拉取配额。

缓解与应对策略

为降低被限流风险,可采取以下措施:
  • 登录 Docker Hub 账户以提升配额:
    docker login
  • 使用镜像缓存代理服务(如 Harbor、Nexus)减少对外部网络的直接依赖
  • 在 CI/CD 环境中复用构建节点,利用本地镜像缓存
  • 优先拉取具体标签版本而非 latest,避免重复下载相同层

企业级解决方案对比

方案优点缺点
私有镜像仓库完全控制访问与缓存需维护额外基础设施
Docker Pro/Team 订阅享受更高拉取限额产生额外费用
多区域镜像同步提升全球分发效率配置复杂度高
graph LR A[开发者机器] -->|docker pull| B(Docker Hub) C[CI/CD Runner] -->|受限拉取| B D[Harbor Proxy Cache] -->|认证拉取| B C --> D

第二章:理解 Docker Hub 限流机制与影响

2.1 Docker Hub 限流策略的技术背景

Docker Hub 作为全球最广泛使用的容器镜像仓库,其公开镜像服务长期面临资源滥用问题。大量自动化构建和CI/CD流水线高频拉取镜像,导致服务器带宽和计算资源过载。
限流机制的触发条件
自2020年起,Docker 引入基于IP的拉取频率限制:
  • 匿名用户:每6小时最多200次拉取
  • 认证用户:每6小时最多5000次拉取
HTTP响应头示例
HTTP/1.1 429 Too Many Requests
RateLimit-Limit: 200
RateLimit-Remaining: 0
RateLimit-Reset: 1633032000
该响应表明请求已被限流,RateLimit-Reset 指明重置时间戳,系统可通过此值动态调整拉取策略。
影响范围与应对逻辑
限流直接影响跨区域部署和高并发部署场景,推动企业采用镜像缓存、私有Registry或使用Docker官方代理服务来优化分发路径。

2.2 匿名与认证用户拉取配额解析

在容器镜像服务中,匿名用户与认证用户的拉取配额存在显著差异。为保障系统稳定性,平台通常对未登录用户实施更严格的限流策略。
配额限制对比
  • 匿名用户:共享IP级配额,例如每6小时100次拉取
  • 认证用户:基于账户的更高配额,如每6小时5000次
配置示例
{
  "rate_limit": {
    "anonymous": { "requests": 100, "window": "6h" },
    "authenticated": { "requests": 5000, "window": "6h" }
  }
}
该配置定义了不同用户类型的请求窗口与上限,用于网关层进行限流控制。
影响分析
用户类型速率限制并发限制
匿名100/6h5 并发
认证5000/6h50 并发

2.3 限流对企业 CI/CD 流程的实际冲击

在企业级持续集成与交付(CI/CD)流程中,API 限流策略若配置不当,可能直接导致构建失败或部署延迟。尤其在高并发触发场景下,如批量提交代码触发流水线,频繁调用镜像仓库或配置中心接口时,极易触达速率限制。
典型失败场景
  • 镜像推送被拒:Docker push 因 registry 限流返回 429 状态码
  • 配置拉取超时:微服务启动时无法获取配置中心数据
  • Webhook 触发丢失:Git 平台回调被 CI 系统拒绝
代码示例:处理 GitHub API 限流
func fetchGitHubWorkflowRuns(client *http.Client, repo string) (*http.Response, error) {
    req, _ := http.NewRequest("GET", "https://api.github.com/repos/"+repo+"/actions/runs", nil)
    resp, err := client.Do(req)
    if err != nil {
        return nil, err
    }
    if resp.StatusCode == 429 {
        // 解析重试时间
        retryAfter := resp.Header.Get("Retry-After")
        time.Sleep(parseRetry(retryAfter))
        return fetchGitHubWorkflowRuns(client, repo) // 递归重试
    }
    return resp, nil
}
该函数通过识别 429 Too Many Requests 响应并读取 Retry-After 头部实现自动退避重试,避免因短时高频请求中断 CI 流水线执行。

2.4 如何监控镜像拉取状态与错误日志

在 Kubernetes 集群中,准确掌握镜像拉取的实时状态是保障应用正常部署的关键环节。当 Pod 启动失败时,常需排查镜像拉取问题。
查看 Pod 事件与状态
使用 kubectl describe pod 可获取镜像拉取相关的事件记录:
kubectl describe pod my-app-pod
输出中 Events 部分会显示如 Failed to pull image 或 ImagePullBackOff 等关键错误,帮助定位认证或网络问题。
分析容器运行时日志
Kubelet 日志通常包含更底层的拉取细节。可通过以下命令查看:
journalctl -u kubelet | grep "pull image"
该命令筛选出镜像拉取相关日志,便于发现私有仓库认证失败或镜像不存在等问题。
常见错误码对照表
错误信息可能原因
ImagePullBackOff镜像不存在或拉取失败重试中
ErrImagePull认证失败或网络不可达
InvalidImageName镜像名称格式错误

2.5 从限流事件看容器供应链的脆弱性

在高并发场景下,一次突发的限流事件往往暴露出容器化供应链中的深层问题。当某关键微服务因请求激增触发限流,其依赖的下游镜像拉取服务响应延迟,进而导致新实例扩容失败。
典型限流引发的级联故障
  • 入口网关触发限流策略,拒绝部分请求
  • 自动扩缩容机制尝试启动新容器实例
  • 镜像仓库因未预留带宽,拉取超时
  • 新实例无法就位,形成雪崩效应
资源配置建议
resources:
  limits:
    cpu: "1000m"
    memory: "512Mi"
  requests:
    cpu: "200m"
    memory: "256Mi"
# 注:合理设置资源请求与限制,避免节点资源争抢导致拉取延迟
该配置可降低节点过载风险,提升镜像拉取成功率,增强供应链韧性。

第三章:私有镜像仓库选型与架构设计

3.1 主流私有仓库方案对比:Harbor、Nexus、ECR

核心特性概览
  • Harbor:开源,专为Kubernetes设计,支持镜像签名与漏洞扫描;
  • Nexus:支持多种格式(Docker、Maven、npm),适合多语言混合环境;
  • ECR:AWS原生服务,深度集成IAM与CloudWatch,免运维。
安全与权限控制
方案认证方式镜像扫描
Harbor本地用户/LDAP/OAuth集成Clair
Nexus角色权限模型需插件支持
ECRIAM策略控制内置Amazon Inspector
典型配置示例
{
  "registry": "harbor.example.com",
  "project": "prod-apps",
  "scanOnPush": true,
  "autoTag": ["latest", "v1.2"]
}
该配置定义了Harbor仓库的推送规则,scanOnPush启用后每次推送将触发自动安全扫描,确保镜像合规性。

3.2 基于 Harbor 搭建高可用镜像服务的架构规划

为实现高可用的容器镜像服务,Harbor 的架构需结合多节点部署与外部依赖组件进行整体设计。核心目标是保障镜像数据一致性、服务高可用及安全访问控制。
组件分层设计
  • 前端负载层:通过 Nginx 或 HAProxy 对 Harbor Portal 和 API 请求进行负载均衡;
  • Harbor 节点集群:多个 Harbor 实例以被动模式运行,共享后端存储与数据库;
  • 外部依赖服务:使用独立的 PostgreSQL 集群、Redis 缓存池和对象存储(如 S3 兼容系统)。
数据同步机制

# harbor.yml 中配置外部存储示例
storage_service:
  s3:
    accesskey: AKIAIOSFODNN7EXAMPLE
    secretkey: wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
    region: us-west-1
    bucket: harbor-images-prod
    encrypt: true
该配置将镜像存储卸载至对象存储,确保多个 Harbor 节点访问同一数据源,避免镜像数据分裂。
高可用拓扑
[Client] → (Load Balancer) → [Harbor Node 1, Harbor Node 2] ↓ ↓ [Shared Storage + DB + Redis]

3.3 安全策略与访问控制模型设计

在构建企业级系统时,安全策略是保障数据完整性和机密性的核心。基于角色的访问控制(RBAC)模型因其灵活性和可管理性被广泛采用。
RBAC 模型结构
该模型主要包含用户、角色和权限三要素,通过角色作为中介连接用户与具体操作权限,实现解耦。
  • 用户:系统使用者,可分配一个或多个角色
  • 角色:预定义的权限集合,如“管理员”、“审计员”
  • 权限:对资源的操作许可,如“读取配置”、“删除日志”
策略配置示例
{
  "role": "auditor",
  "permissions": [
    "log:read",
    "config:view"
  ],
  "description": "仅允许查看系统日志与配置"
}
上述配置定义了一个名为 auditor 的角色,仅具备读取类权限,符合最小权限原则。字段 permissions 使用冒号分隔的资源-操作格式,便于策略解析引擎处理。

第四章:迁移实践与无缝切换方案

4.1 镜像同步工具选型与自动化拉取配置

在大规模容器化部署中,镜像的高效同步与自动更新至关重要。选择合适的镜像同步工具需综合考虑兼容性、性能和安全性。
主流工具对比
  • Skopeo:支持跨 registry 镜像复制,无需运行容器 daemon;
  • RegSync:专为自动化拉取设计,支持定时同步与标签过滤;
  • Harbor Replication:适用于企业级 Harbor 实例间同步。
自动化拉取配置示例

apiVersion: v1
kind: CronJob
metadata:
  name: sync-images
spec:
  schedule: "0 2 * * *"  # 每日凌晨2点执行
  jobTemplate:
    spec:
      template:
        spec:
          containers:
          - name: skopeo-sync
            image: quay.io/skopeo/stable
            command:
            - "/bin/sh"
            - "-c"
            - "skopeo sync --src docker --dest docker registry.example.com/myapp quay.io/myorg/myapp"
          restartPolicy: OnFailure
该 CronJob 利用 Skopeo 实现每日镜像同步,skopeo sync 命令通过源与目标 registry 的比对,仅传输差异镜像层,提升效率。参数 --src 和 --dest 定义同步方向,确保镜像版本一致性。

4.2 利用镜像缓存层实现流量中转加速

在高并发服务架构中,镜像缓存层通过预加载热点数据至边缘节点,显著降低源站负载与响应延迟。该机制依赖智能调度策略,将用户请求动态引导至最近或最优的缓存实例。
缓存命中优化策略
采用LRU(最近最少使用)与TTL(生存时间)结合的淘汰机制,确保数据新鲜度与缓存效率的平衡。配置示例如下:

// CacheConfig 定义缓存参数
type CacheConfig struct {
    MaxEntries int        // 最大条目数
    Eviction   string     // 淘汰策略:lru, fifo
    TTL        duration.Second // 数据存活时间
}
上述结构体用于初始化缓存实例,MaxEntries 控制内存占用,TTL 防止数据陈旧,Eviction 决定清理逻辑。
节点间流量调度对比
调度算法延迟表现适用场景
轮询(Round Robin)中等均衡负载
最小连接数低长连接服务
地理定位极低CDN 加速

4.3 Kubernetes 集群中切换镜像源的灰度发布

在 Kubernetes 集群中实现镜像源的灰度发布,核心在于通过标签选择器与 Deployment 的滚动更新机制逐步切换后端镜像。
分阶段部署策略
采用多副本中逐步更新的方式,控制新镜像 Pod 的比例。通过调整 `strategy.rollingUpdate.maxSurge` 和 `maxUnavailable` 实现平滑过渡。
apiVersion: apps/v1
kind: Deployment
metadata:
  name: app-deployment
spec:
  replicas: 10
  strategy:
    type: RollingUpdate
    rollingUpdate:
      maxSurge: 2
      maxUnavailable: 1
  template:
    spec:
      containers:
      - name: app-container
        image: registry-v2.example.com/app:v2.0  # 新镜像源
上述配置确保每次最多新增两个 Pod,最多容忍一个不可用 Pod,有效控制变更影响范围。
镜像同步与验证
切换前需确保新镜像已在目标仓库就绪,并通过镜像校验(如 digest)保证一致性,避免拉取失败导致启动异常。

4.4 故障回滚机制与多仓库容灾备份

自动化回滚策略
在发布异常时,系统通过版本快照自动触发回滚流程。基于Kubernetes的Deployment配置,可精确控制回滚至指定历史版本。
apiVersion: apps/v1
kind: Deployment
metadata:
  name: app-deployment
  annotations:
    kubernetes.io/change-cause: "Upgrade to v2.1"
spec:
  revisionHistoryLimit: 5
  strategy:
    type: RollingUpdate
    rollingUpdate:
      maxSurge: 1
      maxUnavailable: 0
上述配置保留最近5次部署记录,确保故障时可通过kubectl rollout undo快速恢复,maxUnavailable: 0保障服务零中断。
多仓库容灾架构
采用跨区域镜像同步机制,核心镜像同时存储于华东、华北、华南三地私有仓库。通过事件驱动同步链路,保障RPO < 30秒。
区域仓库地址同步延迟
华东registry-east.example.com≤10s
华北registry-north.example.com≤15s

第五章:构建可持续的镜像治理体系

镜像扫描与漏洞管理
持续集成流程中应嵌入镜像安全扫描,使用工具如 Trivy 或 Clair 对构建后的镜像进行 CVE 检测。例如,在 CI 阶段添加以下步骤:

# 使用 Trivy 扫描镜像并阻止高危漏洞
trivy image --severity CRITICAL myapp:latest
if [ $? -ne 0 ]; then
  echo "镜像包含严重漏洞,禁止推送"
  exit 1
fi
标签策略与版本控制
采用语义化版本(SemVer)和不可变标签,避免使用 latest 标签。推荐的标签模式包括:
  • v1.2.3 —— 正式发布版本
  • v1.2.3-rc.1 —— 预发布版本
  • sha-abc123 —— 基于 Git Commit 的精确标识
私有仓库治理
在企业级环境中,使用 Harbor 作为镜像仓库可实现多租户管理、复制策略和合规性检查。配置示例如下:
策略类型配置值说明
保留规则保留最近10个标签防止存储无限增长
自动扫描推送即触发确保所有镜像经过安全检测
自动化清理机制
定期执行镜像清理任务,结合标签策略删除陈旧镜像。可通过定时 Job 调用 Registry API 实现:

// 示例:调用 Harbor API 获取项目镜像列表
resp, _ := http.Get("https://harbor.example.com/api/v2.0/projects/myproject/repositories")
// 解析 JSON 并根据标签规则筛选待删除项
  
LLM时代知识基础设施的四次跃迁与工程落地 知识基础设施是支撑大模型应用落地的底层支柱,其演进遵循从固化、分发、链接到生成的客观规律。Transformer架构通过自注意力机制实现语义全局建模,自监督预训练释放海量开源数据价值,而RAG等技术则重构了知识调用范式,使LLM从‘文本续写工具’升级为‘可验证的认知接口’。这一过程不仅依赖算法突破,更深度绑定开源生态、向量化实践与工程化协同。当前主流应用场景如智能客服、临床决策支持、政务知识服务等,均已验证:稳定可用的LLM系统=高质量私有知识层+可审计检索链路+轻量可控微调策略。本文即围绕知识共享、RAG 阅读详情

相关推荐

Errorresponsefromdaemon:toomanyrequests:Youhavereachedyourpullratelimit.

在拉取docker进行的时候遇到这个问题,如何解决呢?本文提供的解决方法,绝对有效。

猿小白的博客 728

docker pull 拉取镜像报错

Error response from daemon: toomanyrequests: You have reached your pull rate limit. You may increase the limit by authenticating and upgrading: https://www.docker.com/increase-rate-limit

weixin_51689532的博客 1万+

Unity手游优化实战:用GPU Instancing把草地渲染的DrawCall从8000降到20(附完整Shader)

本文详细介绍了Unity手游中利用GPU Instancing技术优化草地渲染的实战方法,将DrawCall从8000降至20。通过Shader改造和性能优化技巧,开发者可以在移动端实现高效渲染,显著提升游戏性能。文章包含完整的Shader代码和优化策略,适合Unity开发者学习应用。

weixin_33691817的博客 489

GitHub的README.md徽章加载失败,打开raw.githubusercontent.com报错429 Too Many Requests,Access has been restricted

发现其他地区例如日本德国等的人员访问同一个仓库正常,而本地朋友访问却一样都不行,错误中提示等待几分钟到几小时后再试,实则半天过去了也不行,但是不从GitHub打开徽章链接而是直接打开第三方官网倒是没问题,可以断定是GitHub做了限制。2、如果是代理软件api请求报错的,尝试将api的如下所示请求头accept-language去除。使用代理工具(比如 Surge)的请求头重写功能,去掉这个请求头就好了。1、浏览器加载失败情况下:打开浏览器的设置,修改语言为英文。

CjfBlog的博客 2607

高德地图爬虫

高德地图爬虫 工具:Pycharm,win10,Python3.6.4 1.需求分析 这篇爬虫和上一篇百度地图爬虫要求一样,百度地图爬虫我发现有一个auth参数会一直变化,一旦变化则获取的数据是不准确的,所以我上高德地图看了一下,高德地图没有这个反爬机制。但是高德地图大概爬取120个页面就会跳一次验证码,我这里是通过换IP解决这个问题的。 2.数据准备 同样我们需要全国地级市信息,用之前...

123的博客 1万+

Arduino Nano + MCP3422A0 ADC 毫欧表:3档分辨率(0.1mΩ-1.3kΩ)开尔文连接实测

本文详细介绍了如何使用Arduino Nano与MCP3422A0 ADC构建高精度毫欧表,采用四线制开尔文连接和三档量程设计,实现0.1mΩ-1.3kΩ的精确测量。通过精密恒流源和18位ADC技术,结合智能量程切换和数字滤波算法,显著提升测量精度和稳定性,适用于电子维修、PCB测试等场景。

weixin_28292761的博客 325

docker拉取镜像受限制处理方式

docker拉取镜像受限制解决方式

qq_62965575的博客 3599

【点云语义分割】Ubuntu20.04下RangeNet++环境配置与实战指南

本文详细介绍了在Ubuntu20.04系统下配置和运行RangeNet++点云语义分割模型的完整实战指南。内容涵盖从Cuda、cudnn到TensorRT的深度学习环境搭建,RangeNet++源码编译的详细步骤与常见问题解决,以及如何运行首个分割Demo并可视化结果。最后,还探讨了处理自定义点云数据格式和进行性能调优的进阶技巧,旨在帮助开发者和研究者快速部署并应用这一先进的点云语义分割技术。

rnn9storyteller的博客 516

Docker Hub限流危机:中小团队必须掌握的7个替代 registry 推荐

应对Docker Hub的镜像拉取限制,本文推荐7个稳定高效的替代registry,涵盖自建方案与云服务,适用于中小团队CI/CD与生产部署。解决拉取失败、速率受限问题,提升构建效率,方案成熟易集成,值得收藏。

InitPulse的博客 928

从DWS到设备树:MTK平台LK阶段GPIO初始化的隐秘路径与调试实战

本文深入探讨了MTK平台LK阶段GPIO初始化的完整流程,揭示了从DWS配置到设备树生成的隐秘转换路径。通过分析MT6768等平台的启动框架,提供了针对preloader到LK阶段GPIO初始化异常的实战调试方法与最佳实践,帮助开发者有效解决硬件与软件配置不匹配的常见问题。

h9j8k7l6m5n的博客 1003

C++ (week6、7):Linux系统编程4:网络

Linux网络:计算机网络概述、TCP协议、Socket编程、IO多路复用机制(select、epoll)、HTTP协议、进程池、线程池、大文件网络传输问题

Edward2022的博客 1430

docker pull 镜像报错

如果你发现换国内源还是没有用,说明你的镜像(或者tag)不在你换的源上,就老老实实登陆吧。docker在你更换源的地方没有找到你的镜像,他就会重新使用默认源,默认源就是要登录。外层的原因是docker有限制。

qq_38781075的博客 900

点云语义分割:使用Cylinder3D训练SemanticKITTI数据集

将该路径修改到config/semanticktti.yaml文件中的data_path节点下。下载semanticKITTI数据集的点云数据和标签,解压到一起。系统:Ubuntu18。

zhaoguanhua的博客 2598

Obtainium项目中的GitHub API限流问题解析与解决方案

在开源应用管理工具Obtainium中,用户反馈遇到了无法更新应用列表的问题。系统提示"too many requests"错误,表明GitHub API请求受到了速率限制。这种情况通常发生在未授权或授权凭证失效的情况下向GitHub API发送过多请求时。 ## 技术原理分析 GitHub对API调用实施了严格的速率限制策略: 1. 未认证请求:每小时限制60次请求 2. 基本认证请求:每小...

gitblog_00056的博客 1025

微信小程序——01开发前的准备和开发工具

微信小程序——01开发前的准备和开发工具

总裁余(余登武)博客 1万+

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

Dockerhub最新的toomanyrequests问题

问题描述 今天从Dockerhub拉取镜像的时候报了一个错误,如下: ➜ ~ docker pull curlimages/curl Using default tag: latest Error response from daemon: toomanyrequests: You have reached your pull rate limit. You may increase the limit by authenticating and upgrading: https://www.doc

weixin_39833509的博客 7332

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

GitHub Profile 429: Too Many Requests

raw vs cdn

hywing's blog 668

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

NGINX Unit路由配置:高级请求匹配与流量控制实战指南

NGINX Unit是一个轻量级、多功能的开源应用服务器,它原生支持八种不同的编程语言运行时。作为现代web应用部署的理想选择,Unit的路由配置功能提供了强大的请求匹配和流量控制能力,让您能够灵活地管理复杂的应用架构。本文将为您详细介绍NGINX Unit的高级路由配置技巧,帮助您掌握高效的流量控制方法。 ## 什么是NGINX Unit路由系统? NGINX Unit的路由系统是一个基于条

gitblog_00203的博客 436

解决docker pull 安装报错问题

重启后再试试能否安装。

Seven__year的博客 1402

【已解决】Error response from daemon: Get “https://registry-1.docker.io/v2/“: net/http: request canceled

【已解决】Error response from daemon: Get https://registry-1.docker.io/v2/: dial tcp: lookup registry-1.docker.io on 192.168.xxx.xxx:xx: read udp 192.168.xxx.xxx:xxxxx->192.168.xxx.xxx:xx: read: connection refused

weixin_43608968的博客 3万+

docker: Error response from daemon: toomanyrequests

rasak@RASAKZILJIN-MB0 docker-projects % docker run --name zeebe -p 26500-26502:26500-26502 camunda/zeebe:latest Unable to find image 'camunda/zeebe:latest' locally docker: Error response from daemon: toomanyrequests: You have reached your pull rate limit.

duoyasong5907的博客 1752

Docker常见报错

解决Error response from daemon: toomanyrequests: You have reached your pull rate limit. You may increase the limit by authenticating and upgrading: https://www.docker.com/increase-rate-limit

小杨博客 学习交流 3102

docker报错toomanyrequests

即:限制匿名账户和免费账户每6个小时分别限制为100和200个容器。Docker Hub是Docker 官方维护的一个公共仓库,大部分需求都可以通过在 Docker Hub 中直接下载镜像来实现。在 https://hub.docker.com 免费注册一个 Docker 账号,完了docker login登录后再拉取。检测拉取次数原理是同一个IP一个时间范围内不应该拉取过多次数,而公司的测试机都是虚拟机,外网都是同一IP。改完配置文件以后,就可直接docker pull。将用户名和密码写入到配置文件中。

llg___的博客 7832

解决docker拉取readeck镜像报Error response from daemon: toomanyrequests问题

readeck 是一个内容中心,目前已支持中文翻译。用官方的镜像仓库拉取。

LY的博客 1409
上一篇: 还在手动调整容器时间?,掌握TZ环境变量,实现全自动时区同步
下一篇: 避开服务冲突的秘诀:深入理解Docker Compose端口范围限制(专家级解析)
InstrGap
博客等级 码龄1年 145粉丝 1961原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值