Ich musste die Konfiguration ein paar Mal ändern und neu laden, um den Mail-Dienst von Siteground zu troubleshooten. Es gibt zahlreiche Ratschläge, wie man das am schnellsten macht.
Eine Zusammenfassung aller dieser Tipps führt jedoch eher zu Verwirrung.
Könntest du mir daher die Unterschiede zwischen den unten aufgeführten Befehlen genauer erklären?
Die Informationen im Installationsleitfaden und in den Beiträgen dieses Forums sind teilweise inkonsistent. Es ist nicht vollständig klar, was beispielsweise der Unterschied zwischen dem Initialisieren und dem Erstellen eines Containers ist.
Es sollte eine Eskalationsleiter geben, die angibt, welche Aktion welchen Befehl erfordert, wenn man z. B. die app.yml ändert. Manche sagen, start reicht aus, andere behaupten, man müsse rebuild ausführen oder zusätzlich ./discourse-setup nutzen.
Befehle:
start: Einen Container starten/initialisieren
stop: Einen laufenden Container stoppen
restart: Einen Container neu starten
destroy: Einen Container stoppen und entfernen
bootstrap: Einen Container basierend auf einer Vorlage für die Konfiguration initialisieren
rebuild: Einen Container neu erstellen (alten zerstören, bootstrap, neuen starten)
Ich sammle langsam den Eindruck, dass alle Befehle eine aufeinanderfolgende Abfolge von Aktionen darstellen.
Jeder nachfolgende Schritt/Befehl führt dasselbe aus wie sein Vorgänger, plus zusätzliche Schritte.
Zum Beispiel so etwas wie:
Starten
bootstrap: Alten zerstören + Einen Container basierend auf einer Vorlage für die Konfiguration initialisieren
rebuild: bootstrap + Einen Container neu erstellen (neuen starten), d. h. es werden Dinge wie das Herunterladen der neuesten Softwareversionen und das Anwenden aktualisierter Konfigurationen durchgeführt
start: Initialisieren, was auch immer das bedeutet
Stoppen
stop: Einen laufenden Container stoppen
restart: Einen Container neu starten (inkl. Stoppen)
Ich werde einen PR auf GitHub erstellen, muss aber jeden Befehl im Detail verstehen, was aktuell nicht der Fall ist.
Könntest du mir sagen, was jeder Befehl auslöst? Ich habe dazu viele Beiträge gelesen, aber die Informationen sind nicht konsistent.
Ein gutes Beispiel ist start. Mal wird gesagt, dass es nur verwendet wird, um den Container zu stoppen und zu starten, wenn man beispielsweise etwas auf dem Host macht. In einem anderen Thema wird erwähnt, dass es einen Container initialisiert, was auch immer das bedeutet
Initialisieren bedeutet, dass, falls kein Container existiert, einer erstellt wird. Wenn Sie einen Container stoppen und wieder starten, wird derselbe Container mit denselben Parametern (wie SMTP und anderen Umgebungs-Einstellungen) gestoppt und gestartet. Wenn Sie jedoch zuerst zerstören, wird ein neuer Container mit neuen Umgebungs-Einstellungen erstellt oder initialisiert.
Bootstrap erstellt ein neues Docker-Image, das erforderlich ist, um einen laufenden Container zu „initialisieren".
Ein Rebuild funktioniert immer. Manchmal ist er unnötig, da ein Zerstören und Neustarten ausreicht, damit Umgebungs-Einstellungen (wie SMTP) wirksam werden. Viele Nutzer werden diese Feinheiten jedoch nicht wirklich verstehen, daher ist es besser, ihnen einfach zu sagen, dass sie immer einen Rebuild durchführen sollen, da dies immer funktioniert.
Usage: launcher COMMAND CONFIG [--skip-prereqs] [--docker-args STRING]
Befehle:
start: Container starten/initialisieren
stop: Einen laufenden Container stoppen
restart: Container neu starten
destroy: Container stoppen und entfernen
enter: Eine Shell öffnen, um Befehle innerhalb des Containers auszuführen
logs: Docker-Logs für einen Container anzeigen
bootstrap: Einen Container für die Konfiguration basierend auf einer Vorlage erstellen
run: Führt den angegebenen Befehl mit der Konfiguration im Kontext des zuletzt erstellten Images aus
rebuild: Container neu erstellen (alten entfernen, neu erstellen, neuen starten)
cleanup: Alle Container entfernen, die länger als 24 Stunden gestoppt waren
start-cmd: Generiert den Docker-Befehl zum Starten des Containers
Optionen:
--skip-prereqs Launcher-Voraussetzungen nicht prüfen
--docker-args Zusätzliche Argumente, die beim Ausführen von Docker übergeben werden
--skip-mac-address Keine MAC-Adresse zuweisen
--run-image Das für die Ausführung des Containers verwendete Image überschreiben
root@monstera:/var/discourse#