Docker Hub usage and limits

メモ

The Docker Hub plan limits will take effect on March 1, 2025. No charges on Docker Hub pulls or storage will be incurred between December 10, 2024, and February 28, 2025.

When using Docker Hub, unauthenticated and Docker Personal users are subject to strict limits. In contrast, Docker Pro, Team, and Business users benefit from a consumption-based model with a base amount of included usage. This included usage is not a hard limit; users can scale or upgrade their subscriptions to receive additional usage or use on-demand usage.

The following table provides an overview of the included usage and limits for each user type, subject to fair use:

User typePulls per monthPull rate limit per hourPublic repositoriesPublic repository storagePrivate repositoriesPrivate repository storage
Business (authenticated)1MUnlimitedUnlimitedUnlimitedUnlimitedUp to 500 GB
Team (authenticated)100KUnlimitedUnlimitedUnlimitedUnlimitedUp to 50 GB
Pro (authenticated)25KUnlimitedUnlimitedUnlimitedUnlimitedUp to 5 GB
Personal (authenticated)Not applicable40UnlimitedUnlimitedUp to 1Up to 2 GB
Unauthenticated usersNot applicable10 per IP addressNot applicableNot applicableNot applicableNot applicable

For more details, see the following:

Fair use

When utilizing the Docker Platform, users should be aware that excessive data transfer, pull rates, or data storage can lead to throttling, or additional charges. To ensure fair resource usage and maintain service quality, we reserve the right to impose restrictions or apply additional charges to accounts exhibiting excessive data and storage consumption.

Abuse rate limit

Docker Hub has an abuse rate limit to protect the application and infrastructure. This limit applies to all requests to Hub properties including web pages, APIs, and image pulls. The limit is applied per-IP, and while the limit changes over time depending on load and other factors, it's in the order of thousands of requests per minute. The abuse limit applies to all users equally regardless of account level.

You can differentiate between the pull rate limit and abuse rate limit by looking at the error code. The abuse limit returns a simple 429 Too Many Requests response. The pull limit returns a longer error message that includes a link to documentation.