Errore di limitazione delle tariffe di Docker durante il ricostruzione del launcher

Quando si esegue un ./launcher rebuild app, si verificano i seguenti errori:

x86_64 arch rilevato.

ATTENZIONE: Stiamo per iniziare a scaricare l’immagine base di Discourse
Questo processo può richiedere da pochi minuti a un’ora, a seconda della velocità della tua rete

Sii paziente

Risposta di errore dal daemon: toomanyrequests: Hai raggiunto il limite di richieste di pull. Puoi aumentare il limite autenticandoti e aggiornando: Usage and limits | Docker Docs
Risposta di errore dal daemon: toomanyrequests: Hai raggiunto il limite di richieste di pull. Puoi aumentare il limite autenticandoti e aggiornando: Usage and limits | Docker Docs
Impossibile trovare l’immagine ‘discourse/base:2.0.20241203-0251’ localmente
docker: Risposta di errore dal daemon: toomanyrequests: Hai raggiunto il limite di richieste di pull. Puoi aumentare il limite autenticandoti e aggiornando: Usage and limits | Docker Docs.
Vedi ‘docker run --help’.
La tua installazione di Docker non funziona correttamente

Vedi: Troubleshoot docker installation issues
Il sito funziona correttamente, ma devo installare alcuni plugin. Sto cercando di ottenere una ricostruzione pulita dell’app prima di apportare qualsiasi modifica al file app.yml. Idee?

*** SOLUZIONE PER IL PROBLEMA ***
Il mio server stava utilizzando IPv6. DockerHub utilizza blocchi più grandi di IPv6 per determinare il rate limiting. Poiché il mio server è ospitato su Digital Ocean, venivo raggruppato in un gruppo più ampio di server e superavo il limite di richieste. Ho disattivato IPv6 e tutto è tornato alla normalità. Ecco le istruzioni per disattivare IPv6 su un server DO.

5 Mi Piace

Ho riprovato 10 ore dopo. Stesso risultato. La finestra temporale di Docker Hub è di 6 ore.

Questa è un’installazione pulita di Discourse negli ultimi 40 giorni. Nessun plugin o personalizzazione al momento. Quindi…

Come viene effettuato l’accesso a Discourse Hub dal punto di vista delle credenziali? Anonimo? Login Discourse?

Esiste un modo per impostare credenziali personali di Discourse Hub per aggirare il limitatore di frequenza?

Grazie.

1 Mi Piace

Un test potenzialmente utile è la piccolissima immagine hello world:

/var/discourse# docker run hello-world
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
478afc919002: Pull complete 
Digest: sha256:5b3cc85e16e3058003c13b7821318369dad01dac3dbb877aac3c28182255c724
Status: Downloaded newer image for hello-world:latest

Hello from Docker!
This message shows that your installation appears to be working correctly.

To generate this message, Docker took the following steps:
 1. The Docker client contacted the Docker daemon.
 2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
    (arm64v8)
 3. The Docker daemon created a new container from that image which runs the
    executable that produces the output you are currently reading.
 4. The Docker daemon streamed that output to the Docker client, which sent it
    to your terminal.

To try something more ambitious, you can run an Ubuntu container with:
 $ docker run -it ubuntu bash

Share images, automate workflows, and more with a free Docker ID:
 https://hub.docker.com/

For more examples and ideas, visit:
 https://docs.docker.com/get-started/

2 Mi Piace

Stessi risultati:

docker run hello-world
Impossibile trovare l’immagine ‘hello-world:latest’ localmente
docker: Risposta di errore dal daemon: toomanyrequests: Hai raggiunto il limite di richieste di pull. Puoi aumentare il limite autenticandoti ed effettuando l’aggiornamento: Usage and limits | Docker Docs.
Vedi ‘docker run --help’.

1 Mi Piace

Ho appena riscontrato questo problema su due forum Discourse (server/IP diversi).

Si prega di essere pazienti

Errore di risposta dal demone: toomanyrequests: Hai raggiunto il limite di richieste di pull. Puoi aumentare il limite autenticandoti ed effettuando l'upgrade: https://www.docker.com/increase-rate-limit
Errore di risposta dal demone: toomanyrequests: Hai raggiunto il limite di richieste di pull. Puoi aumentare il limite autenticandoti ed effettuando l'upgrade: https://www.docker.com/increase-rate-limit
Impossibile trovare l'immagine 'discourse/base:2.0.20241203-0251' localmente
docker: Errore di risposta dal demone: toomanyrequests: Hai raggiunto il limite di richieste di pull. Puoi aumentare il limite autenticandoti ed effettuando l'upgrade: https://www.docker.com/increase-rate-limit.
Vedi 'docker run --help'.
La tua installazione di Docker non funziona correttamente

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

Spero che questa non sia una restrizione improvvisa da parte di Docker per cercare di costringere le persone a pagare.

1 Mi Piace

Questo è ciò che dice l’assistente AI di Docker, ma i nuovi limiti di velocità non dovrebbero entrare in vigore fino al 1° marzo. (Se Discourse effettua più di 10 pull durante una ricostruzione, ciò probabilmente influenzerà le persone. Modifica: sembra che sia già limitato a 10.)\n\n> Sulla base delle fonti di conoscenza fornite, sembra che Docker abbia effettivamente apportato modifiche alle sue policy sui limiti di velocità di recente. Ecco cosa posso dirti:\n\n> \n\n> Docker ha annunciato nuovi limiti di utilizzo e di velocità per Docker Hub che entreranno in vigore il 1° marzo 2025. Secondo la documentazione Limiti di utilizzo e di velocità di Docker Hub:\n\n> \n\n> 1. Per gli utenti non autenticati, c’è un limite di velocità di pull di 10 pull all’ora per indirizzo IP.\n\n> 2. Per gli utenti Docker Personal autenticati, il limite di velocità di pull è di 40 pull all’ora.\n\n> 3. Per gli utenti autenticati Docker Pro, Team e Business, non ci sono limiti di velocità di pull.\n\n> \n\n> Inoltre, Docker ha introdotto nuovi limiti di pull basati sui livelli di abbonamento:\n\n> \n\n> - Docker Personal: 40 pull all’ora\n\n> - Docker Pro: 25K pull al mese\n\n> - Docker Team: 100K pull al mese\n\n> - Docker Business: 1M pull al mese\n\n> \n\n> Queste modifiche sono state annunciate in una nota di rilascio di Docker Hub del 14 maggio 2020, che afferma:\n\n> \n\n> “Docker ha abilitato i limiti di velocità di download per i download e le richieste di pull su Docker Hub. Questo limita il numero di oggetti che gli utenti possono scaricare entro un determinato periodo di tempo.”\n\n> \n\n> Per evitare di raggiungere questi limiti, puoi:\n\n> \n\n> 1. Autenticare i tuoi pull se non l’hai già fatto.\n\n> 2. Aggiornare a un piano a pagamento se hai bisogno di limiti più elevati.\n\n> 3. Implementare le best practice per la gestione dell’utilizzo di Docker Hub, come l’utilizzo della cache e l’ottimizzazione delle strategie di pull.\n\n> \n\n> Se stai riscontrando limiti di velocità su più siti, è possibile che tu stia raggiungendo i limiti per diversi servizi o che il tuo indirizzo IP venga condiviso, portando a limiti di velocità cumulativi. Tuttavia, le informazioni fornite si riferiscono specificamente ai limiti di velocità di Docker Hub.

Grazie per aver convalidato che il problema non riguarda solo il mio sistema.

Sono stato in grado di aggiornare sia il gestore Docker che i livelli del sistema Discourse dall’interno dell’amministrazione senza problemi. Ogni volta che provo a eseguire una ricostruzione del launcher, ottengo errori di limite di frequenza.

2 Mi Piace

L’aggiornamento sembra funzionare dalla dashboard su entrambi i forum che sono limitati nella velocità nel terminale.

Dove siete ospitati?

Ho aperto un ticket di supporto con DigitalOcean per questo e ho la conferma che si tratta di un problema, ma solo per i droplet con IPv6 abilitato.

Docker Hub sta limitando la velocità in base all’intervallo di rete anziché a un singolo IP per IPv6 (il che esaurisce rapidamente 100 pull ogni 6 ore per i pull anonimi per i grandi provider VPS).

Se disabiliti IPv6 dovresti essere in grado di ricostruire.

4 Mi Piace

I miei siti sono su DigitalOcean con IPv6 abilitato.

1 Mi Piace

Stesso problema allora, prova a disabilitare ipv6 nella gestione web di DO se non ti serve per qualche altro servizio (penso tu possa farlo senza riavviare il droplet) e riprova.

1 Mi Piace

Non vedo un modo per disattivare IPv6 nelle impostazioni del droplet, ma darò un’occhiata più da vicino più tardi.


Mi sbagliavo sul fatto che gli aggiornamenti funzionassero dalla dashboard. Uno ha funzionato ma l’altro si è bloccato a metà. La dashboard ora dice che è obsoleto:

Modifica: il messaggio è scomparso dopo il riavvio del droplet.

discourse-2

ma cliccando su questo mi porta a una pagina che dice che tutto è aggiornato:

Questo era il messaggio di errore:

...[@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

Disattivare IPv6 sul server Digital Ocean ha risolto il problema: ecco le istruzioni di DO su come disattivare IPv6.

4 Mi Piace

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