Error pulling image configuration: toomanyrequests

Too Many Requests for DockerHub

Your pipeline fails with the following error:

Continuing execution.
Pulling image codefresh/cfstep-helm:3.0.2 
error pulling image configuration: toomanyrequests: Too Many Requests. Please see https://docs.docker.com/docker-hub/download-rate-limit/ 

The image codefresh/cfstep-helm is just an example. This error can happen for other Docker images as well.

Problem description

This issue occurs because your pipeline has triggered the DockerHub limit announced in August 2020.

Users who pull Docker images have the following limits

  • Free plan – anonymous users: 100 pulls per 6 hours
  • Free plan – authenticated users: 200 pulls per 6 hours
  • Pro plan – unlimited
  • Team plan – unlimited

Notice that the limits depend on the pricing plan of the user who performs the pull action and not the user who owns the Docker image.

If you don’t have a Docker Hub integration in Codefresh, all your Docker images will be pulled as an anonymous user and because Docker Hub applies the rate limit for each IP address, your whole Codefresh installation can easily hit the limits if you have many teams and users.

The solution

You need to add at least one DockerHub integration in Codefresh by following the instructions.

Docker Hub integrations in Codefresh

Docker Hub integrations in Codefresh

This way, when Codefresh tries to pull an image it will use the connected integration instead of sending anonymous requests.

If the integration is for a DockerHub pro/team plan, you will have unlimited pulls. If the integration is for the free plan your rate limit will doubled. We also advise to you add multiple DockerHub integration if it makes sense for your teams, as this will spread the pull actions to multiple DockerHub accounts.