Ich hoste seit mehreren Jahren selbst eine Discourse-Installation auf einem DigitalOcean-Droplet und habe Discourse sowohl über die Admin-Seite als auch durch SSH-Zugriff und die Verwendung der CLI viele Male ohne Probleme aktualisiert. Dies ist das erste Mal, dass ich ein Problem habe. Heute (8. Februar 2025) habe ich den Docker-Container über die Admin-Seite erfolgreich aktualisiert. Dann habe ich mit der Aktualisierung von Discourse begonnen, und es ist fehlgeschlagen. Ich habe mich per SSH eingeloggt und Folgendes ausgeführt:
sudo ./launcher rebuild app
und erhielt diese Fehlermeldung:
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
(Ich habe keinen Zugriff mehr auf die Fehlermeldungen von der Admin-Update-Seite, da der Discourse-Server ausgefallen ist.)
Weiß jemand, warum das passiert und was ich tun muss?
Gibt es eine Webseite, die du empfehlen kannst, mit Anleitungen, wie man Docker aktualisiert?
Wenn ich lsb_release -a ausführe, erhalte ich:
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 20.04.4 LTS
Release: 20.04
Codename: focal
(Ich habe das Aktualisieren von Linux aufgeschoben, da ich noch nie ein Betriebssystem-Upgrade auf einem DigitalOcean-Droplet durchgeführt habe, aber ich weiß, dass ich es bald tun muss.)
Ich habe mir die Webseite, die du bezüglich Docker-Nutzung und -Limits gesendet hast, angesehen, bevor ich hier gepostet habe, aber ich kann sie nicht verstehen. Muss ich für Docker bezahlen, nur um Discourse zu aktualisieren?
Ich habe versucht, neu zu starten, indem ich ./launcher start app ausgeführt habe, aber ich erhielt eine fast identische Fehlermeldung wie bei der Ausführung von ./launcher rebuild app.
Es ist über eine Stunde her, also habe ich gerade versucht, ./launcher rebuild app erneut auszuführen, aber die gleiche Fehlermeldung erhalten.
Ich schätze jede weitere Anleitung, die du mir geben kannst, sehr.
EDIT: Oh, aber Sie haben den Fehler „zu viele Anfragen“. Ich denke, ich würde Folgendes tun:
docker login
und folgen Sie den Anweisungen. Es sieht so aus, als ob eine kostenlose authentifizierte Version Ihr Problem lösen könnte.
Ich würde empfehlen, einfach ein neues zu besorgen und Move a Discourse site to another VPS with rsync zu befolgen. Es gibt wenig Ausfallzeit und wenn etwas schief geht, können Sie das neue Droplet einfach löschen und es erneut versuchen.
Aber im Moment sind Sie in Ordnung, also könnten Sie einfach Folgendes tun:
sudo apt update
sudo apt upgrade
# oder wenn Sie nur Docker aktualisieren möchten, wird dies wahrscheinlich funktionieren.
sudo apt install docker-ce
Ich habe sudo apt update und sudo apt upgrade ohne Probleme ausgeführt. Ich habe dann versucht, sudo ./launcher rebuild app erneut auszuführen und erhielt die Fehlermeldung:
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
Beachten Sie, dass es sich um dieselbe Fehlermeldung wie zuvor handelt, nur dass nun die veraltete Version 24.0.2 anstelle von 20.10.14 angezeigt wird. Ich habe sudo apt install docker-ce versucht, erhalte aber dieselbe Fehlermeldung, wenn ich sudo ./launcher rebuild app ausführe. Es scheint nicht auf 24.0.7 oder neuer aktualisieren zu wollen.
Ich habe gerade erfolgreich einen Docker-Login von der Docker-Website erstellt. Ich kann mich auf der Docker-Website anmelden, aber wenn ich docker login von der Befehlszeile aus ausführe und meinen Benutzernamen und mein Passwort eingebe (die ich aus meinem Schlüsselbund kopiert und eingefügt habe, um Tippfehler zu vermeiden), erhalte ich:
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
Ich habe es mehrmals versucht, falls ich das Passwort falsch eingefügt habe, alles ohne Erfolg. Muss ich einen anderen Login erstellen?
Das ist das Beste, was mit Ihrem Betriebssystem möglich ist. Es ist wahrscheinlich gut genug.
Yup. Es wird versucht, nur Docker zu aktualisieren. Docker hat in einigen Fällen unterschiedliche Namen, daher dachte ich, dass ein Upgrade von allem eine sicherere Lösung wäre.
Das sind Ihre Docker-Anmeldeinformationen, nicht Ihre Betriebssystem-Anmeldeinformationen. Wenn ich das tue, erhalte ich etwas wie das hier:
USING WEB-BASED LOGIN
Um sich mit Anmeldeinformationen auf der Befehlszeile anzumelden, verwenden Sie 'docker login -u <username>'
Ihr einmaliger Gerätebestätigungscode lautet: WZYX-ABCD
Drücken Sie ENTER, um Ihren Browser zu öffnen, oder geben Sie hier Ihren Gerätescode ein: https://login.docker.com/activate
Führen Sie dies als Root aus oder als ein Benutzer, der keine Berechtigung zur Verwendung von Docker hat?
Ja, das Problem war, dass ich docker login anstelle von sudo docker login ausgeführt habe, da ich nicht als Root lief. Aber ich habe meinen Docker-Benutzernamen und mein Passwort eingegeben, nicht meinen Betriebssystem-Benutzernamen und mein Passwort. Ich bin nicht so schlecht!
Ich habe sudo ./launcher rebuild app gerade noch einmal ausgeführt und keine Fehler erhalten! Es wurde mir geraten, es erneut auszuführen, also habe ich das getan. Dann habe ich sudo ./launcher start app ausgeführt und alles läuft!
Vielen Dank! Ich musste nur ein Docker-Login haben (und mich dann als Root anmelden).
Du warst eine unglaubliche Hilfe! Nochmals vielen Dank für deine Großzügigkeit und Geduld! Hoffentlich hilft dieses Thema anderen, die auf das gleiche Problem stoßen.
[Zitat=“William Hanisch, Beitrag:7, Thema:351253, Benutzername:hanisch”]
Ich bin nicht so schlimm!
[/Zitat]
Nun ja, ich kann nicht immer erraten, was für wen Sinn macht.
Freut mich, dass du es herausgefunden hast.
Danke für das Update! Das ist das erste Mal, dass ich dieses Problem sehe, und ich freue mich, dass meine vorgeschlagene Lösung funktioniert hat. Ich frage mich, ob dies in Zukunft ein häufiger auftretendes Problem sein wird.