Ho ospitato un’installazione di Discourse su un droplet DigitalOcean per diversi anni e ho aggiornato Discourse molte volte senza problemi, sia tramite la pagina di amministrazione che connettendomi via SSH e utilizzando la CLI. Questa è la prima volta che ho un problema. Oggi (8 febbraio 2025) ho aggiornato il container Docker tramite la pagina di amministrazione senza problemi. Poi ho iniziato ad aggiornare Discourse, e questo è fallito. Mi sono connesso via SSH ed ho eseguito:
sudo ./launcher rebuild app
e ho ottenuto questo errore:
WARNING: Docker version 20.10.14 deprecated, recommend upgrade to 24.0.7 or newer.
x86_64 arch detected.
WARNING: We are about to start downloading the Discourse base image
This process may take anywhere between a few minutes to an hour, depending on your network speed
Please be patient
2.0.20250129-0720: Pulling from discourse/base
toomanyrequests: You have reached your pull rate limit. You may increase the limit by authenticating and upgrading: https://www.docker.com/increase-rate-limit
Error response from daemon: toomanyrequests: You have reached your pull rate limit. You may increase the limit by authenticating and upgrading: https://www.docker.com/increase-rate-limit
Unable to find image 'discourse/base:2.0.20250129-0720' locally
docker: Error response from daemon: toomanyrequests: You have reached your pull rate limit. You may increase the limit by authenticating and upgrading: https://www.docker.com/increase-rate-limit.
See 'docker run --help'.
Your Docker installation is not working correctly
See: https://meta.discourse.org/t/docker-error-on-bootstrap/13657/18?u=sam
(Non ho più accesso ai messaggi di errore dalla pagina di aggiornamento dell’amministratore poiché il server Discourse è inattivo.)
Qualcuno sa perché sta succedendo questo e cosa devo fare?
(Ho rimandato l’aggiornamento di Linux, dato che non ho mai eseguito un aggiornamento del sistema operativo su un droplet DigitalOcean, ma so che dovrò farlo presto.)
Ho consultato il sito web che hai inviato riguardo all’utilizzo e ai limiti di Docker prima di pubblicare qui, ma non riesco a capirci nulla. Devo pagare per Docker solo per aggiornare Discourse?
Ho provato a riavviare eseguendo ./launcher start app ma ho ottenuto un messaggio di errore quasi identico a quello che ho ottenuto eseguendo ./launcher rebuild app.
Sono passate più di due ore, quindi ho appena provato a eseguire di nuovo ./launcher rebuild app, ma ho ottenuto lo stesso errore.
Apprezzo molto qualsiasi ulteriore guida tu possa fornire.
EDIT: Oh, ma hai l’errore “troppe richieste”. Penso che quello che farei sarebbe digitare
docker login
e seguire le istruzioni. Sembra che una versione autenticata gratuita possa risolvere il tuo problema.
Consiglierei di prenderne una nuova e seguire Sposta un sito Discourse su un altro VPS con rsync. C’è poco tempo di inattività e se qualcosa va storto, puoi semplicemente eliminare la nuova droplet e riprovare.
Ma per ora sei a posto, quindi potresti semplicemente essere in grado di
sudo apt update
sudo apt upgrade
# o se vuoi solo aggiornare docker, questo probabilmente lo farà.
sudo apt install docker-ce
Ho eseguito sudo apt update e sudo apt upgrade senza incidenti. Ho quindi provato a eseguire di nuovo sudo ./launcher rebuild app e ho ottenuto l’errore:
WARNING: Docker version 24.0.2 deprecated, recommend upgrade to 24.0.7 or newer.
x86_64 arch detected.
WARNING: We are about to start downloading the Discourse base image
This process may take anywhere between a few minutes to an hour, depending on your network speed
Please be patient
Error response from daemon: toomanyrequests: You have reached your pull rate limit. You may increase the limit by authenticating and upgrading: https://www.docker.com/increase-rate-limit
Error response from daemon: toomanyrequests: You have reached your pull rate limit. You may increase the limit by authenticating and upgrading: https://www.docker.com/increase-rate-limit
Unable to find image 'discourse/base:2.0.20250129-0720' locally
docker: Error response from daemon: toomanyrequests: You have reached your pull rate limit. You may increase the limit by authenticating and upgrading: https://www.docker.com/increase-rate-limit.
See 'docker run --help'.
Your Docker installation is not working correctly
Nota che è lo stesso errore di prima, tranne per il fatto che ora la versione deprecata è 24.0.2 invece di 20.10.14. Ho provato sudo apt install docker-ce ma ottengo lo stesso errore quando eseguo sudo ./launcher rebuild app. Sembra che non voglia aggiornare alla versione 24.0.7 o più recente.
Ho appena creato con successo un login Docker dal sito web di Docker. Posso accedere al sito Docker, ma quando eseguo docker login dalla riga di comando e inserisco il mio nome utente e password (che ho copiato e incollato dal mio portachiavi per evitare errori di battitura) ottengo:
permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Post "http://%2Fvar%2Frun%2Fdocker.sock/v1.24/auth": dial unix /var/run/docker.sock: connect: permission denied
Ci ho provato diverse volte nel caso avessi incollato la password sbagliata, tutto senza successo. C’è un login diverso che devo creare?
Apprezzo molto qualsiasi altro consiglio che tu possa fornire!
È il massimo che si può ottenere con il tuo sistema operativo. Probabilmente è abbastanza buono.
Sì. Tenterà di aggiornare solo docker. Docker ha nomi diversi in alcuni casi, quindi ho pensato che aggiornare tutto fosse una soluzione più sicura.
Quelle sono le tue credenziali docker che vuole, non le tue credenziali del sistema operativo. Quando faccio così ottengo qualcosa di simile:
USING WEB-BASED LOGIN
To sign in with credentials on the command line, use 'docker login -u <username>'
Your one-time device confirmation code is: WZYX-ABCD
Press ENTER to open your browser or submit your device code here: https://login.docker.com/activate
Lo stai eseguendo come root, o come un utente che non ha i permessi per usare docker?
Sì, il problema era che ho eseguito docker login invece di sudo docker login poiché non stavo eseguendo come root. Ma ho inserito il mio nome utente e password Docker, non il mio nome utente e password del sistema operativo. Non sono così scarso!
Ho appena eseguito di nuovo sudo ./launcher rebuild app e non ho ricevuto errori! Mi ha chiesto di eseguirlo di nuovo, quindi ho acconsentito. Ho quindi eseguito sudo ./launcher start app e tutto è attivo e funzionante!
Grazie mille! Avevo solo bisogno di un docker login (e poi di accedere, come root).
Sei stato di un aiuto incredibile! Grazie ancora per la tua generosità e pazienza! Speriamo che questo argomento aiuti altri che incontrano lo stesso problema.
Beh, non posso sempre indovinare cosa abbia senso per chi.
Sono contento che tu abbia risolto.
Grazie per l’aggiornamento! È la prima volta che vedo questo problema e sono contento che la soluzione che ho suggerito abbia funzionato. Mi chiedo se questo diventerà un problema più comune in futuro.