Watchtower Automatische Docker Container Update

preview_player
Показать описание
Watchtower ! Konfiguriert die Container richtig in dem Ihr festlegt was Watchtower, mit welchem Container, machen soll. Das ganze schauen wir uns unter Linux und unter Docker-Desktop für WINDOWS.

Das Skript konnte wegen einer falschen Einstellung nicht geladen werden, das ist behoben und sollte jetzt funktionieren.

Links die Ihr brauchen werdet:

=== Link zur Unterstützung / Spende für denn Kanal ===

#Docker #Watchtower #SystemWartung
Рекомендации по теме
Комментарии
Автор

Hinzufügen sollte man, das die Default Werte von Watchtower, für die meisten Systeme. Besonders Homelabs usw. vollkommen ausreichen:
- Mach ein Update alle Container die da sind
- Schau alle 24 Stunden ob Updates da sind
Plump und einfach. Das mit den Blacklisten und Whitelisten der Container ist gut und schön aber dann muss ich jeden von denen einzeln anfassen für die Einrichtung, zusätzlich das ich bei jeder Applikation darauf achten muss das das Label drin ist damit er sich updated, oder eben nicht updated. Unnötiger Stress den man sich macht mMn

Klar gibt’s Anwendungsfälle wo man kein Update will, aber dann wählt man beim entsprechenden Docker-Container, einfach nicht das latest Tag. Was man ja laut “Best Practice” (oder wie immer die ganzen Schlauerles das nennen eh nicht machen soll für kritische Container Applikationen. Weil natürlich wenn ein Problem da ist und die Container-Plattform sich die neuste Version der Applikation zieht, vielleicht alles putt ist.

Wenn man es wirklich narrensicher haben will das Update, dann macht man es wie ich. Achtung jetzt wird’s etwas kompliziert:
- Man sucht sich seine Lieblings-Container aus, von der Distribution die man haben will. In meinem Fall Ubuntu
- dann erstellt man sich auf GitHub Template Images, sozusagen Abkömmlinge des Basis Images. In meinem Fall sind das 2 Images, kann auch mehr sein. In meinem Fall ein “Headless” Image für Anwendungen ohne GUI und ein “Desktop” Image für Anwendungen unter Linux mit GUI
- Hier wird bei Headless die Pakete installiert die man immer haben will: Tmux, VIM, Netutils whatever
- Beim Desktop wird zusätzlich ein Display Manager der Wahl installiert mit einer Zugangsart der Wahl, bspw noVNC mit Gnome
- Diese Images werden via GitHub Actions Tests unterzogen, wie zB:
- Headless: kann ich eine Console aufmachen und dort “date” ausführen?
- Desktop: Komme ich über den VNC, HTTP Port in die Oberfläche rein?
- Bestehen die Images diese Tests, landen sie in einer Docker Image Repo der Wahl (Docker Hub, GitHub Packages etc)
- Von diesen Images klonen sich dann wiederum die individuellen Anwendungen weg,
Bspw ein Datenbank Server nimmt das “Headless” Image und installiert die neuste Version von MySQL, MariaDB usw.
- Anschließend führt auch dieses Image eine GitHub Action aus die das Image Testet:
- Komme ich auf den Port des Datenbank-Servers oder nicht?
- Nach Erfolgreichem Test wird auch das Image in eine Docker Image Repo deiner Wahl geladen (Docker Hub etc)
Usw usw das zieht man für jede Anwendung durch, mit angepassten Tests, je nach Anwendung

So erhält man einen “Stammbaum” an Container-Applikationen der sich auf jeder Ebene, selbst testet und nur funktionale Images landen in den Docker-Repos. Und DIE zieht man sich dann auf den entsprechenden Server vom Repo runter und lässt sie per Watchtower auf dem aktuellsten Stand halten. So hat man einen klaren und sauberen Workflow und nur funktionale Anwendungen in der Infrastruktur.

TheOnlyEpsilonAlpha