Führer
Docker-Hub-Ratenbegrenzungen sind ein CI-Problem, kein Docker-Problem
Anonyme Pulls sind pro IP ratenbegrenzt und CI-Läufer teilen sich IPs. Hier erfahren Sie, wie Sie um 3 Uhr morgens aufhören, es herauszufinden.
{Autor} · {Rolle} · {Datum} · {Minuten} {MinutenLabel}
Docker Hub begrenzt anonyme Pulls pro Quell-IP. Gehostete CI-Läufer stammen aus gemeinsam genutzten Cloud-Bereichen, sodass Ihr Build ein Kontingent mit Fremden teilt. Der Fehler tritt sporadisch auf, tritt ohne Vorwarnung auf und sieht aus wie ein Netzwerkproblem.
Warum es speziell CI betrifft
Ein Entwickler-Laptop ruft einmal ein Basis-Image ab und speichert es wochenlang zwischen. Eine CI-Flotte ruft tausende Male am Tag das gleiche Bild auf jedem flüchtigen Läufer ab, und zwar von Adressen, die sie nicht kontrolliert.
Korrekturen, in der Reihenfolge ihrer Haltbarkeit
- Führen Sie einen Registry-Pull-Through-Cache im selben Netzwerk wie Ihre Runner aus – ein Upstream-Pull bedient anschließend jeden Job
- Authentifizieren Sie Pulls auch für öffentliche Bilder; Ein authentifizierter Pull greift auf das Kontingent Ihres Kontos zurück und nicht auf das freigegebene anonyme Kontingent
- Spiegeln Sie die Handvoll Basisbilder, auf die Sie tatsächlich angewiesen sind, in Ihre eigene Registrierung und heften Sie sie per Digest an
- Hören Sie auf, Bilder abzurufen, die Sie nicht benötigen – mehrstufige Builds rufen oft ein Toolchain-Image ab, das keine Laufzeitebene verwendet
Ihr nächster Build könnte doppelt so schnell sein — zum halben Preis
Kostenlos starten. Der Wechsel zurück ist dieselbe eine Zeile — auch dieses Diff veröffentlichen wir.