Docker Hub Pull Rate Limits on VPS with Docker Engine

Hi Docker Community,

I’m hoping to get some clarification and find solutions for a persistent Docker Hub pull rate limit issue I’m facing when updating my n8n instance (image: docker.n8n.io/n8nio/n8n:latest) on a Linux VPS.

My Setup:

  • Running Docker Engine (via CLI, no Docker Desktop) on a cloud VPS.
  • Attempting to pull images using docker pull docker.n8n.io/n8nio/n8n:latest and docker compose pull.
  • I am successfully authenticated to Docker Hub using docker login with my Docker Hub account
  • My account has an active Docker Pro subscription.

The Problem & Confusion: Despite being logged in with my Pro account, I’m hitting Docker Hub pull rate limits (e.g., “toomanyrequests” or similar errors).

I contacted Docker Support, and they informed me: “with your subscription to Docker Pro, it’s not applicable to Docker Engine. The subscription features are only available to Docker Desktop application.” This was surprising to me, as I understood that authenticated pulls from an account with a Pro subscription would benefit from higher rate limits, regardless of the client (Desktop vs. Engine).

My Questions for the Community:

  1. Pro Subscription & Docker Engine: Can anyone confirm if the statement from Docker Support is definitively correct – that Docker Pro subscription benefits (specifically increased pull rates) do not apply to Docker Engine on a server, even when authenticated? Is there any nuance I’m missing?
  2. Rate Limit Solutions for Engine: If the Pro benefits don’t apply to Engine, what are the recommended best practices for managing/mitigating Docker Hub pull rate limits for Docker Engine users on a VPS?
  • Are there official or widely-used community registry mirrors that can be configured?
  • What are other strategies to reliably pull images like n8n for self-hosted services?
  1. Authenticated Pulls: Even for free authenticated accounts, there’s a higher limit than anonymous pulls. How can I ensure my docker login is being fully respected by Docker Engine for these base authenticated limits if the Pro tier indeed doesn’t add more on Engine? (I have already tried docker logout and docker login again).

I’m currently blocked from updating my n8n service, and any insights, clarifications, or suggested workarounds would be greatly appreciated. My n8n instance is deployed using Docker Compose.

The exact error message I usually see is: "toomanyrequests: You have reached your pull rate limit. You may increase the limit by authenticating and upgrading your account."

Thanks in advance for your help!

I think there must be a misunderstanding here. It would be hard to reach the rate limit using only Docker Desktop which is for development. Rate limit is more important when you have a CI/CD process that continuously pulls and pushes images. Some of the features that are available with your subscription are indeed available only in Docker Desktop, but it has nothing to do with rate limits as far as I know.

On the other hand, Docker Support forgot to mention (possibly this is what they wanted to write) that the rate limit is not implemented in the Docker Engine. It belongs to Docker Hub, but you are not using Docker Hub. You are using n8n.io. So if you reached the rate limit, you either reached the limit on n8n and they just have similar error messages, or they use Docker Hub behind the scenes (I don’t know why they would) and their service account reached the rate limit on Docker Hub.

Since you are not using Docker Hub directly, I don’t think you need to log in to Docker Hub. You would need to log in to n8n. Do I misunderstand something as well?