Upgrade von Containern

ChristophK

Benutzer
Mitglied seit
12. Jan 2021
Beiträge
92
Punkte für Reaktionen
4
Punkte
8
Hallo,

mit dem "neuen" Container Manager ist auch ein Upgrade der Container via Klick möglich.

Ich glaube aber es ist nicht so wie ich es mir denke. Ich habe alle meine Container mit dem "latest" Tag installiert. Ab und zu gibt es dann einen Image Update was ich auch durchführe. Ich dachte damit wird es immer auf die neueste Version der Applikation upgedatet.
Leider ist es nicht so, die Version der Applikation ändert sich nicht. Was wird den da upgedatet?

Gibt es eine Anleitung/Best-Practices wie man auch die Applikation im Container aktuell halten kann? Oder ist es stupides, kill alt, erstell neu?
Danke im Voraus für die Antworten!
Greetz
 

alexhell

Benutzer
Sehr erfahren
Mitglied seit
13. Mai 2021
Beiträge
2.604
Punkte für Reaktionen
758
Punkte
154
Die Tags bei Containern beziehen sich immer auf die Container und nicht die Software. Das latest Tag wird also aktualisiert, wenn es Änderung am Container gab. Kann eine neue Software Version sein, kann aber auch nur Optimierung oder fixes am Container sein.
 
  • Like
Reaktionen: ChristophK

ChristophK

Benutzer
Mitglied seit
12. Jan 2021
Beiträge
92
Punkte für Reaktionen
4
Punkte
8
verstehe, ich habe das Gefühl bei manchen wird nie die App selbst upgedatet...
 

alexhell

Benutzer
Sehr erfahren
Mitglied seit
13. Mai 2021
Beiträge
2.604
Punkte für Reaktionen
758
Punkte
154
Das kann sein... Gibt ja Maintainer die es nur für sich gebaut haben und sie kein Interesse an der neuen Version haben. Ansonsten anderes Images suchen. Am besten falls vorhanden vom Entwickler
 
  • Like
Reaktionen: ChristophK

*kw*

Benutzer
Contributor
Sehr erfahren
Maintainer
Mitglied seit
10. Aug 2013
Beiträge
1.624
Punkte für Reaktionen
657
Punkte
134
@ChristophK:

installier dir den Container "watchtower", der erledigt das automatisch für alle gehosteten Container:

Über den Aufgabenplaner als "root" erstellen:

Code:
docker run -d --name=watchtower \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /etc/localtime:/etc/localtime:ro \
-e TZ=Europe/Berlin \
-e WATCHTOWER_INCLUDE_STOPPED=true \
-e WATCHTOWER_SCHEDULE="0 0 4 * * *" \
--restart always \
containrrr/watchtower:latest --cleanup

Netzwerk=bridge

Der Parameter 0 0 0 * * * steht für (Sekunde Minute Stunde/24h). In meinem Script er löst morgens um 04:00 aus.

PS: es ist seit der Umstellung auf Containermanager bisher nur einmal vorgekommen, dass ich händisch auslösen musste.
 

ChristophK

Benutzer
Mitglied seit
12. Jan 2021
Beiträge
92
Punkte für Reaktionen
4
Punkte
8
installier dir den Container "watchtower", der erledigt das automatisch für alle gehosteten Container:
Ich kenne das, das ist nicht das Problem es ab und zu mal selber (kontrolliert) zu machen. Ich hatte den watchtower auf beiden Synos drauf und auf einer lief es ok, auf der anderen hat er komische Sachen gemacht (z.B. mi sich selber immer wieder nen neues Container angelegt mit kryptischem Namen). Wie gesagt die Updates sind auch nicht so oft...

Ich glaube ich muss einfach wie Alexhell sagte Images finden die auch die Apps innen updaten und nicht nur den Container.
 

*kw*

Benutzer
Contributor
Sehr erfahren
Maintainer
Mitglied seit
10. Aug 2013
Beiträge
1.624
Punkte für Reaktionen
657
Punkte
134
Meine Vermutung: wenn, liegt es am Containermanager, aber nicht an watchtower. Erst seit der Umstellung hatte ich das einmal erlebt. Weil es ein problemloser Container war, hab ich ihn neu installiert und seitdem ist Ruhe.
 

alexhell

Benutzer
Sehr erfahren
Mitglied seit
13. Mai 2021
Beiträge
2.604
Punkte für Reaktionen
758
Punkte
154
Der Container Manager ist aber nur eine UI. Watchtower kennt sie nicht mal bzw. bekommt davon nix mit. Kann einfach sein, dass watchtower mal einen Hänger hatte. Ich hatte das nur, wenn watchtower sich selbst mal geupdated hat.
 
  • Like
Reaktionen: *kw*

*kw*

Benutzer
Contributor
Sehr erfahren
Maintainer
Mitglied seit
10. Aug 2013
Beiträge
1.624
Punkte für Reaktionen
657
Punkte
134
Wie gesagt, war bisher auch nur einmal.
 

Adama

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
05. Mrz 2013
Beiträge
1.982
Punkte für Reaktionen
577
Punkte
134
Diese kryptischen Namen hab ich ab und an auch. Das ist tatsächlich ein Problem des Container Managers. Dazu muss man aber nicht den Conmtainer neu installieren.

Für jeden Container hält der Manager eine Datei in "/usr/syno/etc/packages/ContainerManager" vor. Die muss man nur wieder korrekt umbennen und im Inhalt ebenfalls den Namen des Container wieder korrigieren.
 
  • Like
Reaktionen: Benie und *kw*

alexhell

Benutzer
Sehr erfahren
Mitglied seit
13. Mai 2021
Beiträge
2.604
Punkte für Reaktionen
758
Punkte
154
Ich hatte das bisher nur bei Watchtower in einer VM, als er sich selber updaten wollte. Auf der Synology hatte ich es bisher nicht. Oder nicht gemerkt, weil ich da selten reingucke :D
 

Adama

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
05. Mrz 2013
Beiträge
1.982
Punkte für Reaktionen
577
Punkte
134
Ich überlege grade. Das ist nicht Watchtower bei mir, sondern meist, wenn ich den MariaDB- oder PiHole-Container manuell update, wenn mich mein Gedächtnis grad nicht täuscht. Die beiden Container aktualisiere ich dann immer über Portainer.
 

haydibe

Benutzer
Sehr erfahren
Mitglied seit
12. Apr 2016
Beiträge
1.481
Punkte für Reaktionen
364
Punkte
103
Das ist ein Phänomen, dass man bei guten Maintainern erlebt, die wissen was richtige Patch-Managerment für Container bedeutet: veröffentlichen eines Images mit gepachten Versionen.

Es kann aber auch sein, dass es einfach nur eine Pipeline ist, die bei jedem Commit des Image-Repos alles neu baut und veröffentlicht, ohne das es wirklich Änderungen am Basis-Image oder irgendwelchen Paketen gab. Ist aber immer noch besser als ein Image einmalig für eine App Version herauszubringen und danach nie wieder das Image zu patchen.

Ist für mich eher ein Pluspunkt!
 
  • Like
Reaktionen: Ulfhednir

wegomyway

Benutzer
Mitglied seit
03. Aug 2022
Beiträge
391
Punkte für Reaktionen
173
Punkte
99
@ChristophK:

installier dir den Container "watchtower", der erledigt das automatisch für alle gehosteten Container:
Welchen derer ?
Container Manager (Docker) - Registrierung ... den erstbesten oder jemand dortigen bestimmten innerhalb der Auflistung?
 
Zuletzt bearbeitet:

Thonav

Benutzer
Sehr erfahren
Mitglied seit
16. Feb 2014
Beiträge
7.878
Punkte für Reaktionen
1.503
Punkte
274
Bitteschön - hier!
 
  • Like
Reaktionen: wegomyway

alexhell

Benutzer
Sehr erfahren
Mitglied seit
13. Mai 2021
Beiträge
2.604
Punkte für Reaktionen
758
Punkte
154
Über die reine GUI kannst du dir den Watchtower nicht konfigurieren, weil du musst den Docker Socket mounten. Du musst es über den Taskplaner oder eine Docker Composer im Container Manager lösen.

Edit: zu langsam :). Beim Link müsstest du alles erklärt bekommen
 
  • Like
Reaktionen: wegomyway

wegomyway

Benutzer
Mitglied seit
03. Aug 2022
Beiträge
391
Punkte für Reaktionen
173
Punkte
99
@Thonav & @alexhell, Anleitung durchgegangen, mit "unterbrochen" beim Ergebnis, auch nichts im Docker.
Das Script von @*kw* mit dem aus der Anleitung verglichen. Guckt Euch mal bitte die letzte Zeile, da das Fette, an. Ist es möglich das der eine Buchstabe "sorgen" bereiten kann ?
Mit @*kw* seinem Script "erfolgreich und auch im Docker vorhanden mit der Schreibweise von *kw*.

mariushosting:

docker run -d --name=watchtower \
-v /var/run/docker.sock:/var/run/docker.sock \
--restart=always \
Containerrrr/Watchtower --cleanup

*kw* :

docker run -d --name=watchtower \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /etc/localtime:/etc/localtime:ro \
-e TZ=Europe/Berlin \
-e WATCHTOWER_INCLUDE_STOPPED=true \
-e WATCHTOWER_SCHEDULE="0 0 4 * * *" \
--restart always \
containrrr/watchtower:latest --cleanup
 

Monacum

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
03. Jan 2022
Beiträge
2.050
Punkte für Reaktionen
900
Punkte
204
Drei „r“ sind richtig: containrrr/watchtower. Sprich mit dem ersten Code müsste er meckern, dass er das Image nicht findet.

neues Container angelegt mit kryptischem Namen
Diese kryptischen Namen hab ich ab und an auch. Das ist tatsächlich ein Problem des Container Managers.
Docker/Container Manager braucht eindeutige Containernamen. Werden die nicht mitgegeben,im Regelfall über den Parameter --name watchtower, dann wird ein Name „erfunden“, der aus zwei Wörtern besteht, das ist aber ein aus Sicht von Docker erwünschtes Verhalten.
 
Zuletzt bearbeitet:
  • Like
Reaktionen: wegomyway

wegomyway

Benutzer
Mitglied seit
03. Aug 2022
Beiträge
391
Punkte für Reaktionen
173
Punkte
99
@Monacum , genau weil das "e" da fehl am Platze ist (meine Meinung). Gibt es jemanden der da Bescheid geben kann oder isses wurscht weil die geballte Kompetenz es eh weiß ?
 

Monacum

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
03. Jan 2022
Beiträge
2.050
Punkte für Reaktionen
900
Punkte
204
Ja, der Befehl sagt, welches Image geladen werden soll. Das Image auf GitHub heißt containrrr/watchtower, alles andere kann nicht gefunden werden, wenn es nicht einen Container mit dem Namen gibt. Im ersten Beispiel ist ein „e“ und ein „r“ zuviel.
 
  • Like
Reaktionen: Benie und wegomyway


 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat