Ich verstehe irgendwie, dass es beim ersten Mal so gemacht wird – okay, seien wir ehrlich: Ich verstehe die Unterschiede zwischen Bootstrap und Rebuild überhaupt nicht, aber die allmächtige KI hat mir gesagt, ich sollte beim ersten Mal bootstrappen, weil es sich um seltsame Entwickler-Sachen handelt, und danach ist Rebuild jedes Mal in Ordnung.
Also… warum nicht ./launcher rebuild web_only und das war’s? Denn wenn ich zuerst zerstöre, habe ich nichts zum Neustarten, wenn das Rebuilding fehlschlägt, oder?
Ich verstehe, wenn ich alles aktualisiere, muss ich zuerst web_only stoppen, dann data und das Letzte ist web_only.
Wenn Sie einen Rebuild durchführen, wird der Container heruntergefahren, dann wird der Bootstrap ausgeführt, dann wird der alte Container zerstört und dann wird der neue gestartet.
Ein Rebuild zerstört den vorhandenen Container nicht (bis ein neuer an seiner Stelle gestartet werden kann).
Wenn der Bootstrap fehlschlägt, können Sie den alten Container selbst neu starten.
Beim ersten Mal gibt es keinen Grund, keinen Rebuild durchzuführen.
Bei nachfolgenden Builds möchten Sie den Bootstrap durchführen, damit der vorhandene Container weiterhin Anfragen bedienen kann, während der neue Container erstellt wird.
Für den Datencontainer möchten Sie immer einen Rebuild durchführen, da Sie nicht möchten, dass zwei Datenbankinstanzen dieselben Dateien ändern.
Für das PG-Upgrade möchten Sie alles stoppen (das Web kann sowieso nicht ohne die Datenbank funktionieren), bevor Sie den Datencontainer neu erstellen.
Ein Rebuild führt auch einen “git pull” durch, sodass Sie stattdessen Bootstrap verwenden können, um die Kontrolle darüber zu haben.
Es ist wie die Festplatte für einen ganzen Computer. Ein Container ist nur ein ganzer Computer, der nur begrenzte Möglichkeiten hat, mit dem man sich verbinden kann (über Ports oder durch die Dateien, die sie aktualisieren und die für das Betriebssystem zugänglich sind).