Docker Hub have been incrementally increasing rate limits for “Docker image pulls” over recent years, starting in 2020, and further changes are being applied from April 1st, 2025.
You can read more about Docker Rate limits here: Usage and limits 
The way these rate limits are implemented are that “anonymous” or unauthenticated image pulls are subject to rate limits on a per source IP basis.
As you may be aware, Bitbucket Pipelines operates on a pool of shared IP ranges, and is therefore subject to rate limits from Docker Hub.
We recommend to our customers who wish to continue to reliably use Docker Hub services to authenticate their traffic with an appropriate service tier based on your usage, as this shifts the rate limit from source IP, to source user.
See examples below of authenticating with Docker Hub, you can read more in our documentation: Use Docker images as build environments | Bitbucket Cloud | Atlassian Support
Use Docker images as build environments | Bitbucket Cloud | Atlassian Support
definitions:
  services:  ## authenticated service container
    my-service-name:
      image: 
        name: alpine:latest
        username: $DOCKER_USERNAME
        password: $DOCKER_PASSWORD
pipelines:
  default:
    - step:
        image:
          name: customers_image_name # for build image
          username: $DOCKER_USERNAME
          password: $DOCKER_PASSWORD
        script:
          - docker login -u $DOCKER_USERNAME -p $DOCKER_PASSWORD # for pipes or dind
    - step:
        name: Using a Service Container
        services:
          - my-service-name
        script:
          - echo "Hello, World"          
We’d like to remind our users that your choice of Docker Package repository is not restricted to Docker Hub, and that there are a variety of commercial and self-hosted alternatives.
Pipelines will continue to review it’s choice of image hosting provider going forward; Consider voting on this issue if you’re interested in a Bitbucket native solution:
 
 Liam Nunns
Bitbucket Pipelines - Senior Engineering Manager
0 comments