Ich arbeite daran, eine Test-Instanz von Discourse in einer VM einzurichten, um den Import aus einer anderen Software zu testen. Da ich neu bei Docker, Discourse und Ruby bin, bin ich noch nicht mit den Abläufen im Hintergrund vertraut. Bisher habe ich das discourse_docker-Repository geforkt und es dann gemäß den Anweisungen hier verwendet (mit meiner eigenen lokalen Ubuntu-VM statt einer Cloud-Instanz): discourse/docs/INSTALL-cloud.md at main · discourse/discourse · GitHub
Nach der Einrichtung scheint meine lokale VM laut netstat den Container so konfiguriert zu haben, dass die Ports 80 und 443 nur auf der IPv6-IP lauschen. Ich verwende lokal keine IPv6, sodass ich nicht auf die Discourse-Instanz zugreifen kann. Wie kann ich das beheben? Ich habe in der app.yml nachgesehen, aber es scheinen dort keine Bind-Einstellungen vorhanden zu sein. Ich habe nach ähnlichen Problemen gesucht – es gab einen Treffer aus dem Jahr 2015, bei dem die Lösung darin bestand, die DNS-Konfiguration innerhalb des Containers selbst zu ändern. Das klingt nach einer schlechten Idee ™, daher hoffe ich auf eine etwas weniger hackige Lösung.
Ich habe das Repository geforkt, um diesem Leitfaden zu folgen:
Ich würde jedoch nicht erwarten, dass dies Probleme verursacht.
Ich führe eine frische Installation von Ubuntu Server (heruntergeladen von ubuntu.com) auf ESXi aus. Das ist alles sehr Standard.
Wo trifft die Konfiguration die Entscheidung darüber, wie die Dienste gebunden werden?
Du kannst IP-Adressen zu den Zeilen hinzufügen, die die Ports zuordnen, aber es liegt wahrscheinlich ein Problem mit der VM vor. Ist es DigitalOcean?
Hier gibt es Beispiele für das Ausführen eines Imports in einem Container. Diese sind wahrscheinlich besser als der von dir verlinkte (ich habe ihn jedoch nicht geprüft, daher könnte ich auch falsch liegen).
Nein, ich habe meinen eigenen VMware-Host, auf dem ich die VM ausführe. Auch das Erreichen der VM über IPv4 bereitet mir weder direkt noch über den DNS-Namen Schwierigkeiten. Das Problem ist lediglich, dass die Docker-Dienste (nicht Standardkomponenten wie der SSH-Server) aus irgendeinem Grund nur an :::80 und :::443 gebunden sind, statt an 0.0.0.0.
Gibt es eine relevante Logdatei, die möglicherweise weitere Details liefert?
Hier gibt es Beispiele für das Ausführen eines Imports in einem Container. Diese sind wahrscheinlich besser als der von Ihnen verlinkte (ich habe ihn jedoch nicht geprüft, daher könnte ich auch falsch liegen).
Nun, bisher bin ich noch gar nicht zum Import-Schritt gekommen.
Letztendlich möchte ich an der Verbesserung dieses Import-Skripts für unsere Website arbeiten. Bisher hatte ich mit verschiedenen Anleitungen zum Einstieg Schwierigkeiten, aber ich habe gedacht, dass eine einfache Standard-Installation vorerst der richtige Weg wäre.
Das Problem liegt entweder bei Docker oder deiner VM. Ich würde mich zunächst an die VM- und Docker-Anleitungen halten und mit einem einfachen Hello-World-Container beginnen. Das ist kein Problem von Discourse.