Skip to content

Troubleshooting "Error response from daemon: toomanyrequests: You have reached your pull rate limit"

You may face the following error in your pipelines:

docker pull <some image>
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.docker.com/increase-rate-limit

Those occur because Docker Hub has introduced rate limiting in November 2020. More background information is available here.

There are various options to mitigate this issue, which are listed below in no particular order. No single option will work in all use-cases, please pick what works best for you.

Company-internal Docker Hub mirror

If your company uses Artifactory for example, you might want to check if Docker Hub mirroring is already enabled for you.

You could configure that registry for example using this snippet in your .pipeline/config.yml file.

steps:
  dockerExecute:
    dockerRegistryUrl: 'https://my.internal.registry:1234'

Authenticated pulls from Docker Hub

The dockerExecute step has an option dockerRegistryCredentialsId which you can use with any Docker Hub account. See Docker's information on pricing to check which type of account is right for you.

Alternative Docker registry

Project "Piper"'s Docker images are also published to GitHub Container Registry. We don't have much experience with that, but in case the other options don't work for you, you might want to try consuming the images from there.

Hyperscaler mirror

If you use some kind of hyperscaler, your provider might offer a Docker Hub mirror for you. Please check the respective documentation of your provider.