Gitlab 管道失败 : ERROR: Preparation failed: Error response from daemon: toomanyrequests

标签 gitlab gitlab-ci harbor dind

我有 Harbor本地 docker 注册表和所有需要的图像都在那里,并将 GitLab 连接到 Harbour,所有图像都是从 Harbour 接收的,但是在 11 月 2 日之后,Docker 限制了拉取次数,似乎可以从 Docker 集线器拉取服务。
是否可以使用 dind 服务从 Harbor 拉出?
管道输出:

Running with gitlab-runner 12.10.1 (ce065b93)
  on docker_runner_7 WykGNjC6
Preparing the "docker" executor
30:20
Using Docker executor with image **harbor**.XXX.XXXX.net/library/docker_maven_jvm14 ...
Starting service docker:**dind** ...
**Pulling docker image docker:dind** ...
**ERROR**: Preparation failed: 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.go:198:2s)
Will be retried in 3s ...
Using Docker executor with image harbor.XXX.XXX.net/library/docker_maven_jvm14 ...
Starting service docker:dind ...
Pulling docker image docker:dind ...
ERROR: Preparation failed: 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.go:198:4s)
Will be retried in 3s ...
Using Docker executor with image harbor.XXX.XXX.net/library/docker_maven_jvm14 ...
Starting service docker:dind ...
Pulling docker image docker:dind ...
ERROR: Preparation failed: 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.go:198:3s)
Will be retried in 3s ...
ERROR: Job failed (system failure): 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.go:198:3s)

最佳答案

其它的办法:
如果你不想添加 daemon.json ,你可以这样做:

  • 从 docker hub 拉取 docker-dind
  • docker pull docker:stable-dind
  • 登录到港口
  • docker login harbor.XXX.com
  • 标记图像以容纳
  • docker tag docker:stable-dind harbor.XXX.com/library/docker:stable-dind
  • 推送到港口
  • docker push harbor.XXX.com/library/docker:stable-dind
  • 转到 .gitlab-ci.yml
  • 而不是
  • services:
        - docker:dind
    
    :
    services:
        
        - name: harbor.XXX.com/library/docker:stable-dind
          alias: docker
    
    我的 .gitlab-ci.yml :
    stages:
      - build_and_push
    
    Build:
      image: ${DOCKER_REGISTRY}/library/docker:ci_tools
      stage: build_and_push
      tags:
        - dind
      services:
        - name: ${DOCKER_REGISTRY}/library/docker:stable-dind
          alias: docker
      script:
        - docker login -u $DOCKER_REGISTRY_USERNAME -p $DOCKER_REGISTRY_PASSWORD $DOCKER_REGISTRY
        - make build test release REGISTRY=${DOCKER_REGISTRY}/library/ TELEGRAF_DOWNLOAD_URL="https://storage.XXX.com/ops/packages/telegraf-1.15.3_linux_amd64.tar.gz" TELEGRAF_SHA256="85a1ee372fb06921d09a345641bba5f3488d2db59a3fafa06f3f8c876523801d"
    
    

    关于Gitlab 管道失败 : ERROR: Preparation failed: Error response from daemon: toomanyrequests,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64781199/

    相关文章:

    备份文件中的 gitlab 包

    Gitlab 代码质量 : where is the report?

    docker - 如何减少 CI 构建期间的 docker pull 时间?

    python - gitlab-ci.yml : 'script: -pytest' command is not recognized

    oauth - 使用 GitLab 作为 Oauth 进行上传

    caching - 具有多个路径的 GitLab CI 缓存似乎会跳过一个路径

    带有 Harbor 的 Docker 集线器缓存

    kubernetes - 如何在istio入口后面使港口可达?

    docker - Kubernetes 从私有(private)注册表中提取图像失败 --> 未知字段 "imagePullPolicy"

    gitlab ci 访问私有(private)片段