Docker-Rate-Limit-Fehler beim Launcher-Rebuild

Beim Ausführen von ./launcher rebuild app erhalte ich folgende Fehlermeldungen:

x86_64 Arch wird erkannt.

WARNUNG: Wir werden jetzt mit dem Herunterladen des Discourse-Basisimages beginnen
Dieser Vorgang kann je nach Netzwerkgeschwindigkeit einige Minuten bis zu einer Stunde dauern

Bitte haben Sie Geduld

Fehlermeldung vom Daemon: toomanyrequests: Sie haben Ihr Pull-Ratenlimit erreicht. Sie können das Limit erhöhen, indem Sie sich authentifizieren und ein Upgrade durchführen: Usage and limits | Docker Docs
Fehlermeldung vom Daemon: toomanyrequests: Sie haben Ihr Pull-Ratenlimit erreicht. Sie können das Limit erhöhen, indem Sie sich authentifizieren und ein Upgrade durchführen: Usage and limits | Docker Docs
Image ‘discourse/base:2.0.20241203-0251’ lokal nicht gefunden
docker: Fehlermeldung vom Daemon: toomanyrequests: Sie haben Ihr Pull-Ratenlimit erreicht. Sie können das Limit erhöhen, indem Sie sich authentifizieren und ein Upgrade durchführen: Usage and limits | Docker Docs.
Siehe ‘docker run --help’.
Ihre Docker-Installation funktioniert nicht richtig

Siehe: Troubleshoot docker installation issues
Die Website läuft einwandfrei, aber ich muss einige Plugins installieren. Ich versuche, eine saubere Neuerstellung der App zu erhalten, bevor ich Änderungen an der Datei app.yml vornehme. Gedanken dazu?

*** LÖSUNG FÜR DAS PROBLEM ***
Mein Server verwendete IPv6. DockerHub verwendet größere IPv6-Blöcke zur Bestimmung der Ratenbegrenzung. Da mein Server bei Digital Ocean gehostet wird, wurde ich in eine größere Gruppe von Servern eingeteilt und habe das Ratenlimit überschritten. Ich habe IPv6 deaktiviert und alles funktionierte wieder normal. Hier sind die Anweisungen zum Deaktivieren von IPv6 auf einem DO-Server.

5 „Gefällt mir“

Ich habe es 10 Stunden später noch einmal versucht. Gleiches Ergebnis. Das Zeitfenster von Docker Hub beträgt 6 Stunden.

Dies ist eine saubere Discourse-Installation innerhalb der letzten 40 Tage. Derzeit keine Plugins oder Anpassungen. Also…

Wie wird auf die Discourse Hub-Anmeldung aus Sicht der Anmeldeinformationen zugegriffen? Anonym? Discourse-Login?

Gibt es eine Möglichkeit, persönliche Discourse Hub-Anmeldeinformationen festzulegen, um den Ratenbegrenzer zu umgehen?

Vielen Dank.

1 „Gefällt mir“

Ein möglicherweise nützlicher Test ist das sehr kleine Hallo-Welt-Bild:

/var/discourse# docker run hello-world
Image 'hello-world:latest' lokal nicht gefunden
latest: Ziehe von library/hello-world
478afc919002: Pull abgeschlossen
Digest: sha256:5b3cc85e16e3058003c13b7821318369dad01dac3dbb877aac3c28182255c724
Status: Neueres Image für hello-world:latest heruntergeladen.

Hallo von Docker!
Diese Nachricht zeigt, dass Ihre Installation ordnungsgemäß zu funktionieren scheint.

Um diese Nachricht zu generieren, hat Docker die folgenden Schritte ausgeführt:
 1. Der Docker-Client hat den Docker-Daemon kontaktiert.
 2. Der Docker-Daemon hat das "hello-world"-Image von Docker Hub heruntergeladen.
    (arm64v8)
 3. Der Docker-Daemon hat einen neuen Container aus diesem Image erstellt, der die
    ausführbare Datei ausführt, die die Ausgabe erzeugt, die Sie gerade lesen.
 4. Der Docker-Daemon hat diese Ausgabe an den Docker-Client gestreamt, der sie an
    Ihr Terminal gesendet hat.

Um etwas Anspruchsvolleres auszuprobieren, können Sie einen Ubuntu-Container ausführen mit:
 $ docker run -it ubuntu bash

Teilen Sie Images, automatisieren Sie Workflows und mehr mit einer kostenlosen Docker-ID:
 https://hub.docker.com/

Weitere Beispiele und Ideen finden Sie unter:
 https://docs.docker.com/get-started/

2 „Gefällt mir“

Gleiche Ergebnisse:

docker run hello-world
Image ‘hello-world:latest’ lokal nicht gefunden
docker: Fehlerantwort vom Daemon: toomanyrequests: Sie haben Ihr Pull-Ratenlimit erreicht. Sie können das Limit erhöhen, indem Sie sich authentifizieren und ein Upgrade durchführen: Usage and limits | Docker Docs.
Siehe ‘docker run --help’.

1 „Gefällt mir“

Ich bin gerade auf dieses Problem auf zwei Discourse-Foren gestoßen (unterschiedliche Server/IPs).

Bitte haben Sie Geduld

Fehlerantwort vom Daemon: toomanyrequests: Sie haben Ihr Pull-Ratenlimit erreicht. Sie können das Limit erhöhen, indem Sie sich authentifizieren und ein Upgrade durchführen: https://www.docker.com/increase-rate-limit
Fehlerantwort vom Daemon: toomanyrequests: Sie haben Ihr Pull-Ratenlimit erreicht. Sie können das Limit erhöhen, indem Sie sich authentifizieren und ein Upgrade durchführen: https://www.docker.com/increase-rate-limit
Image 'discourse/base:2.0.20241203-0251' lokal nicht gefunden
docker: Fehlerantwort vom Daemon: toomanyrequests: Sie haben Ihr Pull-Ratenlimit erreicht. Sie können das Limit erhöhen, indem Sie sich authentifizieren und ein Upgrade durchführen: https://www.docker.com/increase-rate-limit.
Siehe 'docker run --help'.
Ihre Docker-Installation funktioniert nicht richtig

Siehe: https://meta.discourse.org/t/docker-error-on-bootstrap/13657/18?u=sam

Ich hoffe, dies ist keine plötzliche Einschränkung durch Docker, um Leute zum Bezahlen zu zwingen.

1 „Gefällt mir“

Das sagt der KI-Assistent von Docker, aber die neuen Ratenbegrenzungen sollen erst am 1. März in Kraft treten. (Wenn Discourse mehr als 10 Pulls während eines Rebuilds macht, wird das wahrscheinlich Leute betreffen. Bearbeitung: Es sieht so aus, als wäre es bereits auf 10 begrenzt.)

Basierend auf den bereitgestellten Wissensquellen scheint es, dass Docker kürzlich Änderungen an seinen Ratenbegrenzungen vorgenommen hat. Hier ist, was ich Ihnen sagen kann:

Docker hat neue Nutzungs- und Ratenbegrenzungen für Docker Hub angekündigt, die am 1. März 2025 in Kraft treten. Laut der Dokumentation Docker Hub Usage and Rate Limits gilt Folgendes:

  1. Für nicht authentifizierte Benutzer gibt es eine Pull-Ratenbegrenzung von 10 Pulls pro Stunde pro IP-Adresse.
  2. Für authentifizierte Docker Personal-Benutzer beträgt die Pull-Ratenbegrenzung 40 Pulls pro Stunde.
  3. Für authentifizierte Docker Pro-, Team- und Business-Benutzer gibt es keine Pull-Ratenbegrenzungen.

Zusätzlich hat Docker neue Pull-Limits basierend auf Abonnementstufen eingeführt:

  • Docker Personal: 40 Pulls pro Stunde
  • Docker Pro: 25.000 Pulls pro Monat
  • Docker Team: 100.000 Pulls pro Monat
  • Docker Business: 1 Million Pulls pro Monat

Diese Änderungen wurden in einem Docker Hub Release Note vom 14. Mai 2020 angekündigt, das besagt:

“Docker hat Download-Ratenbegrenzungen für Downloads und Pull-Anfragen auf Docker Hub aktiviert. Dies begrenzt die Anzahl der Objekte, die Benutzer innerhalb eines bestimmten Zeitraums herunterladen können.”

Um diese Limits zu vermeiden, können Sie Folgendes tun:

  1. Authentifizieren Sie Ihre Pulls, falls Sie dies noch nicht getan haben.
  2. Aktualisieren Sie auf einen kostenpflichtigen Plan, wenn Sie höhere Limits benötigen.
  3. Implementieren Sie Best Practices für die Verwaltung der Docker Hub-Nutzung, wie z. B. die Verwendung von Caching und die Optimierung Ihrer Pull-Strategien.

Wenn Sie auf mehreren Websites Ratenbegrenzungen feststellen, ist es möglich, dass Sie Limits für verschiedene Dienste erreichen oder dass Ihre IP-Adresse gemeinsam genutzt wird, was zu kumulativen Ratenbegrenzungen führt. Die bereitgestellten Informationen beziehen sich jedoch speziell auf die Ratenbegrenzungen von Docker Hub.

Vielen Dank, dass Sie bestätigt haben, dass das Problem nicht nur bei meinem System liegt.

Ich konnte sowohl die Docker-Manager- als auch die Discourse-Systemebenen von der Administration aus ohne Probleme aktualisieren. Jedes Mal, wenn ich versuche, einen Launcher-Rebuild auszuführen, erhalte ich die Fehlermeldungen zur Ratenbegrenzung.

2 „Gefällt mir“

Das Aktualisieren scheint vom Dashboard aus auf beiden Foren zu funktionieren, die im Terminal ratenbegrenzt sind.

Wo werden Sie gehostet?

Ich habe diesbezüglich einen Supportfall bei DigitalOcean eröffnet und eine Bestätigung erhalten, dass dies ein Problem ist, aber nur für IPv6-fähige Droplets.

Docker Hub begrenzt die Raten basierend auf dem Netzwerkbereich anstelle einer einzelnen IP für IPv6 (was 100 Pulls pro 6 Stunden für anonyme Pulls bei großen VPS-Anbietern fast sofort aufbraucht).

Wenn Sie IPv6 deaktivieren, sollten Sie neu erstellen können.

4 „Gefällt mir“

Meine Websites befinden sich auf DigitalOcean mit aktiviertem IPv6.

1 „Gefällt mir“

Gleiches Problem dann, versuchen Sie, IPv6 in der DO-Webverwaltung zu deaktivieren, wenn Sie es nicht für einen anderen Dienst benötigen (ich glaube, Sie können dies tun, ohne das Droplet neu zu starten) und versuchen Sie es erneut.

1 „Gefällt mir“

Ich sehe keine Möglichkeit, IPv6 in den Droplet-Einstellungen zu deaktivieren, aber ich werde später genauer hinschauen.


Ich habe mich bezüglich der Updates, die vom Dashboard aus funktionieren, geirrt. Eines hat funktioniert, aber das andere ist mittendrin abgestürzt. Das Dashboard zeigt nun an, dass es veraltet ist:

Bearbeiten: Die Meldung verschwand nach einem Neustart des Droplets.

discourse-2

Aber wenn ich darauf klicke, gelange ich zu einer Seite, auf der alles auf dem neuesten Stand ist:

Dies war die Fehlermeldung:

...[@embroider/webpack]
...[@embroider/webpack]
...[@embroider/webpack]
...[@embroider/webpack]
undefined
 ERR_PNPM_RECURSIVE_EXEC_FIRST_FAIL  Command was killed with SIGKILL (Forced termination): ember build -prod
Docker Manager: FAILED TO UPGRADE
#<RuntimeError: RuntimeError>
/var/www/discourse/plugins/docker_manager/lib/docker_manager/upgrader.rb:211:in `run'
/var/www/discourse/plugins/docker_manager/lib/docker_manager/upgrader.rb:112:in `upgrade'
/var/www/discourse/plugins/docker_manager/scripts/docker_manager_upgrade.rb:19:in `block in <main>'
/var/www/discourse/plugins/docker_manager/scripts/docker_manager_upgrade.rb:6:in `fork'
/var/www/discourse/plugins/docker_manager/scripts/docker_manager_upgrade.rb:6:in `<main>'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/railties-7.1.5/lib/rails/commands/runner/runner_command.rb:41:in `load'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/railties-7.1.5/lib/rails/commands/runner/runner_command.rb:41:in `block in perform'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activesupport-7.1.5/lib/active_support/execution_wrapper.rb:92:in `wrap'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/railties-7.1.5/lib/rails/commands/runner/runner_command.rb:40:in `perform'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/thor-1.3.2/lib/thor/command.rb:28:in `run'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/thor-1.3.2/lib/thor/invocation.rb:127:in `invoke_command'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/railties-7.1.5/lib/rails/command/base.rb:178:in `invoke_command'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/thor-1.3.2/lib/thor.rb:538:in `dispatch'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/railties-7.1.5/lib/rails/command/base.rb:73:in `perform'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/railties-7.1.5/lib/rails/command.rb:71:in `block in invoke'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/railties-7.1.5/lib/rails/command.rb:149:in `with_argv'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/railties-7.1.5/lib/rails/command.rb:69:in `invoke'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/railties-7.1.5/lib/rails/commands.rb:18:in `<main>'
/usr/local/lib/ruby/3.3.0/bundled_gems.rb:74:in `require'
/usr/local/lib/ruby/3.3.0/bundled_gems.rb:74:in `block (2 levels) in replace_require'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/bootsnap-1.18.4/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:30:in `require'
bin/rails:18:in `<main>'
Spinning up 1 Unicorn worker(s) that were stopped initially

Das Deaktivieren von IPv6 auf dem DigitalOcean-Server hat das Problem behoben: Hier ist eine Anleitung von DO, wie IPv6 deaktiviert wird.

4 „Gefällt mir“

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.