Upgrade von Containern

  • Ab sofort steht euch hier im Forum die neue Add-on Verwaltung zur Verfügung – eine zentrale Plattform für alles rund um Erweiterungen und Add-ons für den DSM.

    Damit haben wir einen Ort, an dem Lösungen von Nutzern mit der Community geteilt werden können. Über die Team Funktion können Projekte auch gemeinsam gepflegt werden.

    Was die Add-on Verwaltung kann und wie es funktioniert findet Ihr hier

    Hier geht es zu den Add-ons

ChristophK

Benutzer
Registriert
12. Jan. 2021
Beiträge
159
Reaktionspunkte
11
Punkte
18
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
 
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
verstehe, ich habe das Gefühl bei manchen wird nie die App selbst upgedatet...
 
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
@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.
 
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.
 
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.
 
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*
Wie gesagt, war bisher auch nur einmal.
 
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*
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
 
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.
 
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
@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:
Bitteschön - hier!
 
  • Like
Reaktionen: wegomyway
Ü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
@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
 
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
@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ß ?
 
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

Additional post fields

 

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