Nur noch 10 Pulls pro Stunde fĂĽr nicht authentifizierte Kunden bei Docker
Docker Hub erlaubt nicht authentifizierten Benutzern ab April nur noch zehn Pulls pro Stunde. Auch Personal-Konten und abhängige Dienste werden eingeschränkt.

(Bild: erstellt mit Dall-E durch iX)
- Manuel Masiero
Der Onlinedienst Docker Hub führt ab dem 1. April stündliche Pull-Limits für bestimmte Account-Typen ein. Für Personal-Accounts gilt eine Beschränkung von hundert Pulls pro Stunde. Nicht authentifizierte Benutzer müssen sich mit zehn Pulls pro Stunde begnügen, wobei hier pro IPv4-Addresse beziehungsweise IPv6/64-Subnetz gezählt wird. Fein raus sind Nutzerinnen und Nutzer mit einem Business-, Team- und Pro-Tarif. Für sie gibt es keine Beschränkungen.
FĂĽr GitLab-Entwicklerinnen und Entwickler beispielsweise sind die neuen Limits bedeutsam, wenn sich ihre CI/CD-Pipelines die Images von Docker Hub ohne Authentifizierung holen. Damit greift das Limit von zehn Pulls pro Stunde. Bei Pipelines, die bei mehreren Projekten zum Einsatz kommen oder die gleiche Runner-Infrastruktur verwenden, ist diese Grenze schnell erreicht.
Teilweise abgefangen wird das durch die Hosted Runners von GitLab, die die am häufigsten angefragten Docker Hub-Images in der Google-Cloud zwischenspeichern. Als image:
oder service:
in der .gitlab-ci.yml-Datei definierte Abbilder sind damit nicht vom Pull-Limit betroffen. Problematisch kann es aber werden, wenn die Anfrage innerhalb der Runner-Umgebung erfolgt. Das in Dockerfile
definierte Image wird dann direkt von Docker Hub bezogen und fällt so unter die Pull-Limits.
GitLab 17.11 mit Authentifizierungs-Funktion fĂĽr Docker Hub
Um die Auswirkungen der Tarifänderungen abzufedern, wird GitLab den Dependency Proxy um eine UI-basierte Authentifizierungsfunktion für Docker Hub erweitern. Damit lässt sich das stündliche Pull-Limit je nach Account-Typ auf hundert Pulls erhöhen oder es fällt komplett weg. Details zur Implementierung finden sich in der aktualisierten Dokumentation. Die Authentifizierungsfunktion hält mit GitLab 17.11 Einzug, das am 17. April erscheinen soll (GitLab 17.10 ist gerade erst ein paar Tage alt).
Neben der Verwendung des Dependency Proxy nennt GitLab weitere Methoden, mit denen Entwicklerinnen und Entwicklern bereits jetzt den Pull-Limits entgegenwirken können. Eine besteht darin, die Anmeldedaten für Docker Hub direkt in die Pipelines zu integrieren. Dazu gilt es, die CI/CD-Variable DOCKER_AUTH_CONFIG
passend zu konfigurieren. Auch die Verwendung spezifischer Image-Tags statt latest
kann dabei helfen, unnötige Pulls zu vermeiden.
Des Weiteren empfiehlt GitLab, häufig verwendete Docker-Images zur GitLab Container Registry hinzuzufügen, um sie bei CI/CD-Durchläufen nicht von Docker Hub anfordern zu müssen. Die Pipelines müssen dann wie folgt aktualisiert werden.
docker pull busybox:latest docker tag busybox:latest $CI_REGISTRY_IMAGE/busybox:latest docker push $CI_REGISTRY_IMAGE/busybox:latest
Die Datei .gitlab-ci.yml braucht zudem folgendes Update:
image: $CI_REGISTRY_IMAGE/busybox:latest
(who)