Seite vom Browser nicht erreichbar - Docker Probleme

Ich habe versucht, Forest Admin zu installieren, und dafür wurde docker-compose benötigt.

Da ich es nicht hatte, habe ich es installiert:

sudo apt install docker-compose

Aber als ich es ausführen wollte, erhielt ich einen Fehler:

docker-compose up
ERROR: Couldn't connect to Docker daemon at http+docker://localhost - is it running?

If it's at a non-standard location, specify the URL with the DOCKER_HOST environment variable.

Ich habe mehrere Dinge ausprobiert, und eine Empfehlung war, Docker neu zu starten:

sudo systemctl restart docker
Failed to restart docker.service: Unit docker.service is masked.

Also habe ich es unmaskiert und neu aufgebaut, aber danach konnte ich nicht auf die App zugreifen:

sudo systemctl unmask docker
Removed /etc/systemd/system/docker.service.

sudo systemctl restart docker
# no error

Ich habe das Image neu erstellen können, und es wurde ohne Fehler abgeschlossen:

sudo /var/discourse/launcher rebuild app

Aber wenn ich zur URL gehe, ist sie nicht erreichbar.

Aus Verzweiflung habe ich auch versucht, Docker zu aktualisieren und das Image mehrfach neu zu erstellen, aber ohne Erfolg:

wget -qO- https://get.docker.com/ | sh

sudo /var/discourse/launcher rebuild app

Ich habe keine weiteren Ideen mehr. Gibt es noch etwas anderes, das ich versuchen sollte?

Ich möchte eine Wiederherstellung aus einem Backup vermeiden, da ich dabei einige Daten verlieren würde. Falls dies jedoch die einzige Möglichkeit ist, was ist dann der beste Weg?

  • Meine neueste Digital Ocean-Sicherung wiederherstellen
  • Meine neueste Discourse-Sicherung wiederherstellen

Ich kann nicht sagen, ob du Docker beschädigt hast oder ob Forest Admin Discourse daran hindert, zu funktionieren. Welches Problem löst Forest Admin?

Danke, Jay. Lass uns Forest Admin erst einmal vergessen. Ich habe es vorerst entfernt. Gibt es sonst noch etwas, das ich tun könnte, um das Problem zu diagnostizieren?

Ich bin mir ziemlich sicher, dass ich Docker beschädigt habe. Falls es relevant ist: Vorher hatte ich Docker 18.09.6, Build 481bc77, und jetzt habe ich 20.10.2, Build 2291f61.

Okay. Es stellt sich heraus, dass die Lösung viel einfacher war: Ich musste nur nginx neu starten :sweat_smile:

Als ich es versucht habe, bekam ich diesen Fehler:

sudo service nginx restart
Job für nginx.service ist fehlgeschlagen, da der Steuerungsprozess mit einem Fehlercode beendet wurde.
Siehe „systemctl status nginx.service“ und „journalctl -xe“ für Details.

In den Logs habe ich nichts Offensichtliches gefunden, aber ein Neustart des Servers hat das Problem behoben:

sudo shutdown -r now

Jetzt funktioniert die Website korrekt.

Sie benötigen kein nginx. Meine Vermutung ist, dass Discourse beim Neustart Port 80 belegt hat, während nginx noch neu gestartet wurde. Und Sie hatten Glück, dass Discourse beim Neustart des Systems vor nginx hochgefahren ist. Sie sollten nginx deinstallieren oder deaktivieren (es sei denn, Sie haben es als Reverse-Proxy konfiguriert, was Sie mit discourse-setup nicht tun können).

Danke, Jay. Ich hatte nginx als Reverse-Proxy eingerichtet, um während der Neuaufsetzung eine schöne Seite anzuzeigen.