Nachdem ich mir stundenlang den Kopf zerbrochen habe, ist es an der Zeit, um Hilfe zu bitten.
Debug-Protokoll:
https://privatebin.net/?b56249efe41b5599#8nt7yMQU2Hft4HysXSoZkxXQTYdR9MFv91qC9sbBgen
Nachdem ich mir stundenlang den Kopf zerbrochen habe, ist es an der Zeit, um Hilfe zu bitten.
Debug-Protokoll:
https://privatebin.net/?b56249efe41b5599#8nt7yMQU2Hft4HysXSoZkxXQTYdR9MFv91qC9sbBgen
Ihr Droplet (oder Docker-Container) hat Konnektivitätsprobleme mit GitHub
fatal: unable to access ‘GitHub - discourse/discourse: A platform for community discussion. Free, open, simple.’: Could not resolve host: github.com
Könnten Sie bitte überprüfen, ob GitHub erreichbar ist?
Ah, bedeutet das, dass ich vielleicht zu oft in kurzer Zeit versucht habe, neu zu erstellen, und meine Server-IP in eine Auszeit versetzt wurde?\n\nKeine der anderen Fehlermeldungen ist von Bedeutung?\n\nIch habe es gerade noch einmal versucht und bin immer noch gesperrt. Gibt es also noch etwas anderes, das ich versuchen kann, oder soll ich einfach 24 Stunden warten und es dann erneut versuchen?
Sie könnten versuchen, github.com zu pingen/curlen und sehen, ob Sie eine Antwort erhalten. Es könnte sich um ein Firewall- oder Konnektivitätsproblem handeln und nicht um eine Ratenbegrenzung.
„Konnte Host nicht auflösen“ deutet auf ein DNS-Problem hin, d. h. Ihr Server kann die IP-Adresse für github.com nicht finden.
==================== REBUILD LOG ====================
x86_64 arch erkannt.
Stelle sicher, dass der Launcher aktuell ist
Hole origin
Launcher ist aktuell
Dies deutet für mich darauf hin, dass Ihr Host github.com auflösen und eine Verbindung zu github.com herstellen kann, es sei denn, Sie haben das discourse_docker-Repository von woanders geklont. Sie können dies mit den folgenden Befehlen bestätigen, um das Remote für das Repository aufzulisten:
cd /var/discourse
git remote -v
was Folgendes ausgeben sollte:
origin https://github.com/discourse/discourse_docker.git (fetch)
origin https://github.com/discourse/discourse_docker.git (push)
Wenn dies der Fall ist, würde der nachfolgende Fehler, bei dem github.com nicht aufgelöst werden kann, bedeuten, dass der Docker-Container ihn nicht auflösen kann, obwohl der Host dies kann, was auf ein Problem mit der Docker-Konnektivität hindeutet.
git remote -v hatte tatsächlich die gewünschte Ausgabe. Wie soll ich Docker beheben, oder soll ich es einfach neu installieren? Ich würde es gerne tun, solange ich keine Daten verliere. Wo genau speichert Discourse seine Datenbank und hochgeladenen Dateien (was auch immer als Nächstes passiert, ich möchte diese manuell sichern)?
/var/discourse/shared/standalone wird einem Volume im Container zugeordnet, alle persistenten Daten werden dort gespeichert.
docker network ls listet die Docker-Netzwerke auf. Ich sehe das Standard-Bridge-Netzwerk und zwei weitere Netzwerke. Container verwenden das Standard-Bridge-Netzwerk, es sei denn, es wird ihnen ausdrücklich etwas anderes gesagt.
Ich habe einige Informationen darüber gefunden, dass das Standard-Bridge-Netzwerk keine Verbindung zur Außenwelt mehr herstellt. Ich spekuliere, aber Ubuntu 22.04 hat möglicherweise auf eine Docker-Version umgestellt, bei der dies zutrifft, was bedeutet, dass der Discourse-Container so eingerichtet werden muss, dass er stattdessen eine benutzerdefinierte Bridge verwendet.
Ich denke, Sie können einfach /var/discourse/containers/app.yml bearbeiten und dies unten hinzufügen, dann neu erstellen: (Ich habe dies jedoch nicht getestet)
networks:
default:
driver: bridge
/var/discourse/shared/standalone/backups/default scheint komprimierte Backups aller wichtigen Teile, der Datenbank und der Uploads zu enthalten.
Vielen Dank für die Ideen, aber es hat nicht funktioniert.
Soll ich einfach versuchen, Docker neu zu installieren, oder wenn ich das tue, könnte ich genauso gut alles platt machen und Discourse komplett neu installieren (ich habe es über Discourse | DigitalOcean Marketplace 1-Click App installiert)?
Ich gehe davon aus, dass der Import der Backup-Datei in der Discourse-Administration einfach ist?
Die Standardinstallation ist die einzig offiziell unterstützte Installationsmethode, aber Informationen zur Wiederherstellung eines Backups finden Sie unten. Es sollte derselbe Vorgang für eine DO 1-Klick-Installation sein.
Es sieht so aus, als ob die 1-Klick-App explizit Ubuntu 20.04 verwendet. Bis sich das ändert, ist es wahrscheinlich am besten, bei 20.04 zu bleiben. Es wird noch drei Jahre lang Fehlerbehebungs-/Sicherheitsupdates erhalten, sodass es keinen Grund gibt, zu 22.04 zu wechseln.
Sie könnten jedoch genauso gut versuchen, Docker neu zu installieren. Vielleicht ist das Problem nach dem Upgrade aufgetreten, und die Docker-Netzwerkkonfiguration, die durch die Installation entfernt und dann wieder hinzugefügt wird, könnte es beheben.
Ich habe den Droplet einfach mit einer sauberen Kopie von Ubuntu 22.04 neu aufgebaut, Discourse manuell (auf die übliche Weise) neu installiert und dann einfach das Backup importiert. Es war schnell und einfach und ich wünschte, ich hätte das von Anfang an getan.
Vielen Dank für all die Hilfe!
Das ist nützlich zu wissen, dass es kein allgemeines Problem bei der Installation auf 22.04 ist.
Ich habe dieses Wochenende ein paar do-release-upgrades von 20.04 auf 22.04 durchgeführt und kann bestätigen, dass sie jetzt alle ohne Neuinstallation von Docker funktionieren. Etwas muss in den letzten Wochen in den Ubuntu-Repositories behoben worden sein.
Upgrades wie diese sollten jetzt problemlos möglich sein.