Hallo Thomas,
ich werde mal versuchen deine Fragen zu beantworten.
@tloeffel:
Ich bin Deinem Tutorial gefolgt und habe alles auch so eingerichtet. Ich könnte jetzt jederzeit die Container in Docker wie beschreiben wechseln.
Woran kann ich erkennen das der Container die Version 1.1.1 von 28.03.18 enthält, wie in Github beschrieben (heisst ja immer latest)? `
Das kannst du gar nicht.
Liegt aber nicht an deinen Fähigkeiten, sondern an der Tatsache, dass "latest" immer die letzte "minor"-Version beinhaltet. Zur Erklärung, Versionierung erfolgt immer so:
major.minor.build[.revision]
Bedeutet letztendlich:
1.0.0 ist eine major-version (latest wenn es keine höhere minor-version gibt)
1.1.0 ist eine minor-version (in diesem fall immer latest)
1.1.1 ist ein build (entspricht dem beta tag)
Der Tag latest zeigt also immer auf die letzte minor-version. Aktuell ist das 1.1.0.
Um die Version 1.1.1 zu nutzen musst du deinen Container also aus dem beta-Image erstellen.
@tloeffel:
Wenn man denn den Container wechseln kann, wozu braucht man denn dann diese Befehle?
–--------------------------------------------------------------------------------------------------------------------------------------
apt-get update
apt-get upgrade
pkill io
npm install iobroker.js-controller –-production
node node_modules/iobroker.js-controller/controller.js >/opt/scripts/docker_iobroker_log.txt 2>&1 &
---------------------------------------------------------------------------------------------------------------------------------------- `
Jetzt wird es kompliziert.
Die Images der einzelnen Versionen werden im Docker Hub (https://hub.docker.com/r/buanet/iobroker/) in regelmäßigen Abständen automatisch neu erstellt. Dies sorgt dafür, dass die installierten Pakete im Container immer einen aktuellen Stand haben. Die Intervalle sind dabei in der Regel:
beta = täglich
latest = wöchentlich
ältere Versionen = einmalig zum Release
Bedeutet, wenn du gestern ein latest oder beta Image geladen hast sind darin alle Pakete auf dem neusten Stand. Nach 3 Wochen gibt es aber sicherlich das ein oder andere Update bei den Linux-Paketen. Jetzt hast du zwei Möglichkeiten:
Entweder du nutzt apt-get upadate/ upgrade um die Pakete zu aktualisieren oder du lädst das aktuelle Image und erstellst den Container neu. Letzteres ist ja im Tutorial beschrieben und für mich auch der bevorzugte Weg.
@tloeffel:
Werden die Adapter automatisch im Docker geupdatet, oder muss man immer auf eine neue Version warten? `
Aber ACHTUNG: Da wir im Tutorial den Ordner vom ioBroker ja auf die DS ausgelagert haben, finden hier bei der Aktualisierung des Containers keiner Updates statt. Das bedeutet: Alle Updates innerhalb deiner ioBroker-Installation (Adapter) musst du separat durchführen. Das geht in der Regel ja auch problemlos über den Admin. Einzige Ausnahme ist der js-controller (welcher aber auch im ioBroker-Ordner installiert ist). Willst du ihn updaten musst du dies über die Kommandozeile erledigen. Dazu dienen die von dir erwähnten Befehle:
| pkill io |
| npm install iobroker.js-controller –-production |
| node node_modules/iobroker.js-controller/controller.js >/opt/scripts/docker_iobroker_log.txt 2>&1 & |
@tloeffel:
Wie kann ich den latest Container mit dem beta Container updaten? Oder geht das so nicht? Ich finde die neue Admin Oberfläche erheblich besser (habe ich in youtube gesehen). Wann wird aus Deiner Sicht beta = latest? `
An dieser Stelle hat ja dtp schon kurz erläutert, wie du an den Admin v3 kommst:
@dtp:
Um den Admin-Adapter in der Version 3.x zu installieren, brauchst du doch nur den aktiven Verwahrungsort des ioBroker in den Einstellungen auf latest zu stellen. Bei mir laufen ioBroker.admin 3.3.5 und js-controller 1.4.0 ohne Probleme mit der Version 1.1.0 von buanets docker-iobroker. `
Aber trotzdem nochmal der Hinweis. Updates des ioBroker selbst müssen immer unabhängig vom Container durchgeführt werden. Der Container bietet letztendlich nur die Hülle (Umgebung) in der der ioBroker läuft.
Wenn du von latest auf beta wechseln willst, dann kannst du das ganz einfach tun. Lade dir das Beta-Image herunter. Stoppe den aktuellen ioBroker-Container. Erstelle aus dem Beta-Image einen neuen Container mit den selben Einstellungen wie der latest-Container und starte den neuen Container. Wenn alles läuft, den latest-Container löschen. Die beiden sollten keinesfalls zusammen laufen (Greifen dann ja auf das selbe ioBroker-Verzeichnis zu!
Ich hoffe ich habe deine Fragen beantworten können.
MfG,
André