Habe ich das richtig verstanden? `launcher run` verwendet keinen aktuell laufenden Container?

Um launcher run zu verstehen, z. B.

groot@galaxy:/var/discourse$ sudo ./launcher run app whoami

Wenn eine Site aktiv ist, führt der obige Befehl nicht in diese Site ein und startet kein Bash, um den Befehl whoami auszuführen, sondern startet einen neuen Container basierend auf dem zuletzt gebooteten Image und führt dann den Befehl aus.

Mit anderen Worten: Wenn Sie launcher verwenden möchten, um etwas über eine live laufende Site in einem Container zu lernen, sollten Sie launcher enter anstelle von launcher run verwenden.

1 „Gefällt mir“

Hallo @EricGT,

Ja, ich denke, viele Discourse-Systemadministratoren verwenden:

./launcher enter  <container_name>

… um in den laufenden Container zu gelangen und den Status zu überprüfen (oder Aufgaben im laufenden Container auszuführen).

Denken Sie jedoch daran, dass Sie dies „so, wie es scheint, dass Sie es tun möchten

6 „Gefällt mir“

Das war eine großartige Antwort, und ich bin sehr dankbar dafür, dass sie mir einen Einblick darin gegeben hat, wie andere Docker-Systemadministratoren darüber nachdenken, was wichtig ist, und wie man schnell Zugriff auf diese Informationen erhält. Allerdings sind Docker-Befehle ein alter Freund von mir, und was ich wirklich nur wollte, war eine einfache Ja-oder-Nein-Antwort auf:

Habe ich das richtig verstanden? launcher run verwendet keinen aktuell laufenden Container?

Ich habe vor ein paar Tagen ein paar Stunden damit verbracht, einen Bash-Trace des launcher run-Befehls zu analysieren und wollte sicherstellen, dass meine Analyse korrekt ist. Ich hätte nicht erwartet, dass launcher run einen völlig neuen Container startet, nur um einen einzelnen Befehl wie whoami auszuführen. Noch beunruhigender ist, dass, wenn man annimmt, der Befehl würde gegen den aktuell laufenden Container arbeiten und Feedback über den Container geben, der die Live-Site betreibt, er stattdessen Informationen über einen anderen Container zurückgibt.

Ich stimme voll und ganz zu, dass die Art und Weise, wie Sie es mit den Docker-Befehlen machen, die Art ist, wie ich es auch machen würde. Aber ich würde auch zustimmen, dass man, wenn man den Unterschied zwischen $ und # nicht kennt, sich sehr weit von den Docker-Befehlen fernhalten und sein Vertrauen in launcher setzen sollte.

Da ich jetzt weiß, dass Sie Fragen mit einer Hilfsfrage als Vorwand nutzen, um Dinge, die Sie toll finden, zu loben, werde ich versuchen, sie von Zeit zu Zeit auf subtile Weise einzufügen. :grinning:

Lieber @EricGT,

Ja, ich verwende ebenfalls docker run (allerdings nicht launcher run). Ich habe jedoch keinen echten Grund gefunden, docker run auszuführen und danach einen Shell-Befehl an den run-Befehl anzuhängen, da ich, wie in meiner Antwort erwähnt, immer docker exec verwende.

Es tut mir leid, dass du meine Antwort dazu, warum ich docker exec verwende, als „Vorgebend, um Dinge hervorzuheben“ empfunden hast. Ich versichere dir, ich bin mit vielen Projekten ausgelastet und brauche keine Vorwände, um Dinge hervorzuheben. Ich wollte lediglich dir helfen, deine Aufgabe zu erledigen, da ich launcher run nicht verwende, um Shell-Befehle in einem Discourse-Container auszuführen. Ich verwende, wie in meiner Antwort erwähnt, ausschließlich docker exec – und das, um dir zu helfen.

Viel Erfolg bei deinen zukünftigen Discourse-Systemverwaltungsaufgaben!

Viel Spaß und bleib neugierig!

2 „Gefällt mir“

Der Grund, warum ich speziell nach launcher run frage, ist, dass ich gerade ein SOP-Handbuch für andere Discourse-Administratoren erstelle, da wir die Möglichkeit des Self-Hostings prüfen. Ich musste jede Launcher-Befehlsvariante im Detail verstehen, um sie zu dokumentieren. Derzeit weist der SOP darauf hin, dass die Verwendung von launcher run einen neuen Container erstellt, und warnt daher davor, launcher run zu verwenden.

Ich bin der Meinung, dass du recht hast: ./launcher run startet einen neuen Container und führt den Befehl dort aus. Wenn du den Befehl im bestehenden Container ausführen möchtest, musst du dies, wie besprochen, mit docker tun.

Wenn ./launcher nicht so funktionieren würde, könnte es nicht arbeiten, wenn kein bestehender Container vorhanden wäre.

5 „Gefällt mir“

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.