Ich habe eine neue App über Docker Compose erstellt und möchte sie nun aktualisieren.
Jetzt muss ich sie „neu erstellen“, wobei die App gelöscht und neu erstellt wird.
Warum gibt es keine Option, die App wie bei Docker mit dem --build-Flag zu aktualisieren? So würde die App schneller erstellt und nur die aktualisierten Komponenten würden neu erstellt.
1.) Wenn du das Docker-Repository-Element angibst, achte darauf, den Tag zu verwenden, damit du die gewünschte Version erhältst. Hier ist zum Beispiel meine Compose-Datei für SmokePing. Sieh dir an, wie ich „smokeping:latest“ angegeben habe. Wenn es nun eine neue Version gibt, sollte diese gezogen werden, sofern die Person, die das Repository pflegt, die Tags korrekt gesetzt hat.
2.) Manchmal zieht QNAP selbst mit dem korrekten Tag das Image nicht immer. Das liegt daran, dass bereits eine Kopie von dem, was QNAP als „smokeping:latest“ ansieht, vorhanden ist. Du musst in ContainerStation unter Images das gespeicherte Image löschen. In meinem Screenshot unten gibt es ein Image mit dem Namen „smokeping:latest“, daher wird möglicherweise nicht das tatsächlich neueste Build aus dem Repository gezogen. Lösche dieses und dann sollte es beim erneuten Erstellen funktionieren.
Wenn du möchtest, dass beim Neustarten immer das aktuelle Image verwendet wird, kannst du die folgende Zeile zu deiner Compose-Datei hinzufügen. Sie weist Container Station an, das Image immer herunterzuladen.
pull_policy: always
Denk daran, deine Images gelegentlich zu bereinigen, um alte Dateien loszuwerden.
Bevor ich das herausgefunden habe, musste ich das neue Image manuell herunterladen und dann neu erstellen usw. – so wird der Vorgang automatisiert.
Ich betreibe außerdem WUD, das ein Docker-Image-Überwachungs-Container ist. Zusammen mit der Funktion „Recreate“ und „Pull Always“ ist es super einfach, meine Container auf Container Station zu verwalten.