Re: upgrade
Verfasst: 15. Mär 2023 19:48
Definitiv nein. Also, ja, das kannst du machen, aber es ist absolut sinnlos. So funktioniert Docker nun mal nicht.Tipplic hat geschrieben: ↑15. Mär 2023 09:38 Hallo !
Vielen Dank für die ausführliche Erklärung. Aber ich versteh nur Bahnhof !
Docker hab ich normal über die Weboberfläche der Synology aus dem Paketzentrum installiert. Openhab dann mit einer Anleitung aus dem Netz.
Also eigentlich keine besonderen Einstellungen vorgenommen. Die Daten liegen in einem Ordner Openhab/addons bzw. /conf und /userdata.
Über Terminal in den Containereigenschaften von Openhab kann ich auch über apt-get update updates ausführen.
Docker entpackt das heruntergeladene Image in ein temporäres Verzeichnis. Dort hast Du innerhalb des Containers die Updates ausgeführt. Wird der Container beendet, so wird das temporäre Verzeichnis samt Updates gelöscht.

Nach welcher Anleitung bist Du vorgegangen?
Die "korrekte" Vorgehensweise:
- Du richtest Docker ein (das hast Du ja über das Paketzentrum gemacht)
- Du legst einen Ordner an, in dem Docker Ordner für den openHAB Container als Volumes nutzen kann. (z.B. /blabliblub/openhab/, wobei blabliblub ein konkretes Verzeichnis auf Deiner Synology ist)
- Du legst in diesem Ordner drei Unterordner an, conf, userdata und addons. Das sind die Ordner, die später im Container als Volumes verwendet werden.
- Du erzeugst den openHAB Container, dafür gibt es im Groben drei verschiedene Möglichkeiten:
1. Direkt über die Shell
2. Über eine Docker-Compose Datei (im yaml Format)
3. Über Ansible (das ist ein eigenes Thema)
Beim Erstellen des Containers gibst Du sämtliche Parameter an, die wichtig sind, unter anderem die Volumes (die Ordner hast Du unter Punkt 3 erzeugt) Welche der Methoden Du verwendet hast, entscheidet, wie Du weiter vorgehen musst, um ein "echtes" Update auszuführen. - Danach arbeitest Du einfach mit dem Programm. Du kannst in den Container wechseln, das ist aber nur in seltenen Fällen wirklich sinnvoll, z.B. um zu testen, ob bestimme Einstellungen so funktionieren wie vorgesehen - also aus Sicht des Containers.
- Willst Du den Container updaten, wirfst Du ihn einfach weg und erzeugst ihn mit dem identischen Aufruf von Punkt 4 neu (immer vorausgesetzt, dass Du als Image openhab:latest verwendet hast, nicht ein genau spezifiziertes Image) Die Volumes (und deren Inhalt) bleiben auch beim Löschen des Containers erhalten, das ist der ganze Witz bei Docker, das ist im wörtlichen Sinne eine Wegwerf- Umgebung.
Danach loggst Du Dich über die Web-UI von Portainer ein und legst zukünftige Docker Container über Portainer an.
Portainer erzeugt ein Verzeichnis für die Volumes der verwalteten Container. Will man dies nutzen, muss man natürlich den Aufruf entsprechend anpassen.
Portainer macht die Arbeit mit Docker angenehmer, allerdings nimmt es Dir nicht die Arbeit ab, zu erlernen, wie Docker funktioniert. Das ist tatsächlich eine wichtige Voraussetzung, um erfolgreich damit zu arbeiten.