NEWS
[Test] Installation von Docker @ Debian (Wheezy) in einer VM
-
Zur Zeit versuche ich noch den Fehler bei der automatischen Installation zu finden `
Welchen denn? -
Zur Zeit versuche ich noch den Fehler bei der automatischen Installation zu finden
Welchen denn?
Nach der "automatischen" Installation (erstellen des Containers mit "docker build -t auge/iobroker:v0.0.1 ./ioBroker") läuft ioBroker noch nicht.
Zur Zeit bekomme ich es nur hin, wenn ich im Container die Installation durchführe.
Der "Fehler" liegt also bei mir / bei der Erstellung des Containers.
Gruß
derAuge
-
Hallo Auge,
ich weiss nicht ob es in die Richtung geht…ein Docker Image verliert alle Einstellungen bei einem Neustart. Wenn man die Konfiguration behalten will muss man ein "docker commit ..." machen. Kann auch sein das ich Dein Problem falsch verstanden habe...
Momentan erzeuge ich meine Docker Images händisch soll heissen:
-
Image interaktiv starte
-
ioBroker installieren
-
Testen und dann mit "exit" beenden.
-
Anschliessend "docker commit...".
-
Neustart mit "docker run -it -p 8082:8082 -p 2001:2001 -p 9090:9090 -p 9091:9091 homegear/hmm" (hmm ist iobroker plus hmm)
Aber es läuft noch nicht rund...ich vermute es sind die weiteren Ports (siehe Bluefox) die man explicit freigeben muss.
Der Vorteil eines Docker Build Prozess (mit einem buildfile) hat sich mir noch nicht so erschlossen.
BTW, willst Du das Image auf docker.com hochladen?
Steve
-
-
Hallo Steve,
Du forcierst doch das Thema Docker oder? Ich glaube ich habe es noch nicht einmal im Ansatz verstanden g
Was ich bisher davon begriffen habe, klingt aber sehr interessant. Bist Du da noch am Ball?
Die Synology Diskstation unterstützt im aktuellen Beta (DSM 5.2) Docker.
Meine Hoffnung ist, dass man mit Docker dann einige Applikationen, wie z.B. ioBroker, einfacher auf die Diskstation bekommt.
Lohnt es sich aus Deiner Sicht, dass ich mich in dem Thema schlau mache. Also überhaupt erst einmal versuche Docker zu verstehen oder ist das Thema "zu groß"?
Meinst Du für Diskstation -> Docker -> ioBroker besteht eine realistische Chance?
Gruß
Michael
-
finde noch kein Beta bei der DS412+
Hast du andere Quellen angegeben?
-
finde noch kein Beta bei der DS412+
Hast du andere Quellen angegeben? `
Die 5.2. Beta und die Möglichkeit sie zu installieren steht auf der Synology Webseite:
https://www.synology.com/de-de/dsm/5.2beta/
Ich habe sie allerdings selbst noch nicht drauf.
[EDIT:]
Die DS412+ ist dabei:
Eingesetzte Modelle
15-series: RS815+, RS815RP+, DS3615xs, DS2415+, DS2015xs, DS1815+, DS1515+, DS415+, DS415play, DS215j, DS115, DS115j
14-series: RS3614xs+, RS3614xs, RS3614RPxs, RS2414+, RS2414RP+, RS814RP+, RS814+, RS814, RS214, DS414, DS414j, DS414slim, DS214+, DS214, DS214play, DS214se, DS114, EDS14
13-series: RS10613xs+, RS3413xs+, DS2413+, DS1813+, DS1513+, DS713+, DS413, DS413j, DS213+, DS213, DS213air, DS213j
12-series: RS3412RPxs, RS3412xs, RS2212RP+, RS2212+, RS812+, RS812RP+, RS812, RS212, DS3612xs, DS1812+, DS1512+, DS712+, DS412+, DS212+, DS212, DS212j, DS112+, DS112, DS112j
11-series: RS3411xs, RS3411RPxs, RS2211RP+, RS2211+, RS411, DS3611xs, DS2411+, DS1511+, DS411+, DS411, DS411+II, DS411j, DS411slim, DS211+, DS211, DS211j, DS111
10-series: RS810RP+, RS810+, DS1010+, DS710+, DS410, DS410j, DS210+, DS210j, DS110+, DS110j
Version: 5.2-5532
(2015/03/12)
-
Hallo Michael.
Docker:
Wenn Du VMWare kennst, dann wirst du vieles in Docker wieder erkennen. Allerdings muss es Linux sein (momentan). Es gibt allerdings ein "Boot2Docker" für Win und Mac, zum ausprobieren. Microsoft ist auch schon mit dabei.
Und falls Du mich direkt zu Docker fragst "Ja ich bin absolut davon überzeugt!" :-). Die Vorteile gerade für "ioBroker Anfänger" sind immens und wir haben auch schon ein ioBroker Docker Image (veraltet 0.39)und auch einige für Homegear ==> Keine CCU mehr notwendig (theoretisch).
Es gibt ein Docker "Try it" auf https://www.docker.com/tryit/
Synology:
Danke für den Hinweis, dass ist ja eine super Entwicklung! Allerdings ist meine Diskstation DS212J wie ein Raspi 1, d.h. nur kleiner ARM und nur 512 MB.
Wenn Du/wir das Docker Thema weiter verfolgen wollen helfe ich gerne.
Steve
-
Hi Steve,
ja, das Thema Docker klingt sehr interessant.
Ich fürchte, ich muss da einiges lernen, bevor es da voran geht.
Zum Thema VM habe ich keine ESXi Erfahrung, sondern nutze ganz normal die Desktopversionen, wie z.B. Fusion.
Das ist also schon einmal nicht so hilfreich
Danke für den Link. Das Tutorial habe ich gerade durch (das war schon einmal sehr hilfreich) und mich bei Docker schon einmal angemeldet.
Das Grundprinzip muss noch in meinen Kopf.
Bisher sehe ich das so:
–--------------------------
VM: Nutze ich einen Hypervisor, wie ESXi, dann habe ich für jede VM auf dem Hypervisor immer noch ein OS.
Docker: Bei Docker habe ich als Basis Linux als OS und die Apps laufen dann ohne zusätzliches OS in "Containern".
D.h.:
10 Apps gekapselt unter VM: 1x Hypervisor, 10x OS
10 Apps unter Docker: 1x OS/Linux, 10x Container
Vorteil Docker: weniger OS drumherum, um eine Anwendung laufen zu lassen?
Anwendungen können einfach über Container verteilt werden.
Änderungen innerhalb eines Containers werden erst mit "docker commit" gesichert.
Man kann also in einer Docker Installation beliebig "spielen" und erst, wenn es gut ist, speichert man die Änderungen.
Ein aktueller Status kann über den gespeicherten Container schnell wieder hergestellt werden (ähnlich wie ein Snapshot bei einer VM?).
Die Container nutzen alle das drunterliegende Linux und finden gekapselt die Umgebung des Linux vor (Dateisystem, Netzwerk, usw.), ohne dass ein Container den anderen Container sieht.
Kann man das so beschreiben?
Oder liege ich da komplett falsch?
Zu der Diskstation
–--------------------
Als ich gelesen hatte, dass das neue DSM Docker unterstützt, fand ich das total spannend.
Direkt im OS der Diskstation herumzuschrauben (über SSH), um eine Anwendung zu installieren, hat mir nie behagt.
Und über das Paketzentrum findet man nicht alles (auch in den Communitys).
Für mich hat sich immer die Frage gestellt, was ich mit den einzelnen Installationen mache.
Einen einigermassen gescheiten ESXi aufzubauen war zu kostspielig (auch, wenn mich das bisher am meisten gereizt hat).
Mehrere Raspberry Pis sind auch nicht das Gelbe vom Ei.
Und das Macbook mit Fusion immer laufen zu lassen ist auch auf Dauer keine Lösung (meine derzeitige Lösung).
Mit Docker unter VM am Macbook "spielen" (oder direkt auf der Diskstation) und dann ein Container auf die Diskstation zu übertragen, käme meinen Idealvorstellungen ziemlich nahe.
D.h., wenn ich das Prinzip verstanden habe (s.o.) ?!
Bei mir läuft ioBroker derzeit ziemlich gut unter VM auf einem aktuellen Debian.
Zwischenschritte als Snapshots gesichert.
Habe ich eine Chance diese Installation irgendwie in Richtung Docker zu portieren?
Als Diskstation kann ich später meine 1512+ verwenden. Die hat zwar auch kein Kraftwerk als CPU (Intel Atom D2700, 2,13 GHz mit 3 GB RAM), dürfte aber für ioBroker und die eine oder Anwendung ausreichen. Hier kann ich mir auch gut vorstellen eine zweite DS mit stärkerem Prozessor hinzustellen (ist eh mal aus Redundanzgründen geplant).
Kleiner Roman... Passen die Überlegungen und macht es Sinn?
Viele Fragezeichen
Viele Grüße, ein neugieriger
Michael
-
OK, habe es gefunden.
Es ist nicht im Beta-Bereich im Paket-Zentrum sonderm im DSM selber.
Da es sich bei mir um ein Produktiv-System handelt würde ich gerne auf das Release warten.
Aber was ich bis jetzt von / mit Docker gesehen habe ist ein richtiger schritt in die Zukunft….. (und mein ESXi braucht dann kein Strom mehr=
Werde auf DSM5.2 warten und dann weiter einsteigen.
@Steve: Hast du denn schon ein "kleines HowTo" zur Installation von ioBroker?
Gruß
derAuge
-
Hi Steve,
Kleiner Roman… Passen die Überlegungen und macht es Sinn?
Viele Fragezeichen
Viele Grüße, ein neugieriger
Michael `
Hi Michael,
genau das war auch meine Frage.
Ich würde aus meiner Sicht sagen: Ja es lohnt sich.
Werde auf jeden Fall da am Ball bleiben.
Gut ist ja auch, dass es hier schon 3 Personen gibt die das gleiche Ziel verfolgen
Gruß
derAuge
-
Hallo,
also erstmal "SUPER" das Ihr Euch für ioBroker und Docker interessiert!
Schnell mal eine erste, kurze Antwort (eigentlich müßte ich viel mehr auf Eure Fragen/Ideen eingehen).
@Auge:
Und kurz noch die gewünschten Information zu Docker und ioBroker Installation:
http://forum.iobroker.org/viewtopic.php?f=17&t=270
http://forum.iobroker.org/viewtopic.php?f=17&t=269
Wir könnten/sollten es in den Wiki aufnehmen!?!
Deine Aussagen sind auf den ersten Blick richtig. Ich stelle mir Docker vor wie Lego Bausteinen, einfach die gewünschten Funktionen zusammen bringen…ohne sich Gedanken zu machen wie die Lego Bausteine hergestellt wurden. Ich bin schon mit VMWare ganz zufrieden, aber der Resourcenhunger!
Bei mir läuft auch ein ESXi 5.5 Server mit 32 GB RAM und 100W Stromverbrauch und Docker auf Odroid XU3/Raspi2 mit 1-3W. Mit den 100W habe ich ein sehr schlechtes Gewissen.
Steve
-
Hi Steve,
ich hab mir die beiden Threads oben durchgelesen.
Mal sehen, ob ich es verstanden habe.
Die Container unterscheiden sich in der CPU Architektur (ARM, X86, …).
Das zugrundeliegende Linux ist egal, es muss nur ein Docker-fähiger Kernel sein. (?) D.h. Einen erstellten Container kann ich auf einem anderen Linux laufen lassen (????).
Da meine derzeitige Debian VM auf eine X86 Architektur läuft und meine spätere Zielarchitektur (die Diskstation) eine X86 CPU hat, muss ich mir eine ioBroker-Installation unter X86 aufbauen.
Meine nächsten Schritte:
-
eine zweite VM mit Debian für Docker
-
Ein ioBroker Image erstellen, welches als X86 Basis gilt (Grundinstallation)
-
meine bisherige Installation einbringen und als persönliches Image speichern
-
diese Image später in der Diskstation verwenden
Müssen alle Docker Container über Docker.com gespeichert werden?
Meine angepassten Container mit meinen persönlichen Daten liegen dann auch dort (und sind eventuell sogar frei zugänglich)?
Spannendes Thema. Ich freue mich drauf
VG
Michael
Gesendet von iPad mit Tapatalk
-
-
Moin, Moin,
@all:
-
Werde heute mal (versuchen) einen Wiki Eintrag zu machen mit den Punkten die wir bisher gefunden haben.
-
Was haltet Ihr von der Idee auf Docker.com einen "Company" Account anzulegen? Dann könnt Ihr Euere Docker Images hochladen. Haben wir schon mit Homegear
so gemacht. Wenn wir damit anfangen, müßten wir dafür sorgen das immer ein aktuelles ioBroker Image vorliegt. Vielleicht kann man dies auch automatisieren?
-
Deine Punkte stimmen so weit…und mit den persönlichen Daten müssen wir vermeiden. :-).
-
Ansonsten sehe ich das Thema Docker und IoBroker als sehr spannend an.
Muss los...bis später
Steve
-
-
Guten Morgen.
` > Und kurz noch die gewünschten Information zu Docker und ioBroker Installation:viewtopic.php?f=17&t=270
viewtopic.php?f=17&t=269
Wir könnten/sollten es in den Wiki aufnehmen!?! `
Danke für die Infos. Leider sind hier schon die ersten Einschränkungen:- Voraussetzung:
Arm Device mit Docker Kernel (Archlinux)
` > Meine nächsten Schritte:
-
eine zweite VM mit Debian für Docker
-
Ein ioBroker Image erstellen, welches als X86 Basis gilt (Grundinstallation)
-
meine bisherige Installation einbringen und als persönliches Image speichern
-
diese Image später in der Diskstation verwenden `
Genau das war auch mein Ansatz.
1.) VM mit Debian für Docker (Habe ich wie oben beschrieben erstellt - Debian 7-x64 (Docker))
2.) Ein ioBroker Image erstellen
|-> Hier kommen jedoch schon einige Fragen auf:
|–> Welches "Basis-Image" soll verwendet werden? es werden ja bereits einige Pakete (Images) angeboten.
|-----> Debian , Ubuntu , BussyBox , .......
|-----> wie kann Docker eine unterschiedliche Umgebung (x86 / x64 / ARM ) bereit stellen?
2.1.) nach dem "Grund-Image" kommt nun die Umgebung : Node.JS
|--> Installation von Node.JS aus das "Grund-Image"
|---> Nun ist eine virtuelle "Maschine" als Grund-Paket" (Basis) für ioBroker erstellt. (Wie immer man es auch richtig bezeichnen soll)
3.) Installation von ioBroker
Kann hier ein "Paket" erstellt werden welches auf allen Hostsysteme läuft da die Voraussetzung für ioBroker ja "nur" Node.JS ist.
Ab hier kommen ja (zur Zeit) die meisten Änderungen / Updates. Daher müsste / sollte ich hier in der Lage sein ein "ioBroker-System" zu löschen und neu zu ziehen / installieren. (Aktuell habe ich mir hier auf meinen Test-System ein Script gebaut welches mir ioBroker löscht und neu installiert)
:roll: Zukunft ?
4.) Rückspielen von "persönlichen" Adaptern / Einstellungen / Daten
Hier kommt nun eine weitere Herausforderung. Aktuell habe ich es (auch ohne Docker) noch nicht hin bekommen, eine Sicherung durchzuführen, die ich anschließend auf ein neu installiertes "ioBroker-System" zurück speiele.
Stichwort Backup. http://forum.iobroker.org/viewtopic.php?f=23&t=445
Nun hat Steve bereits geantwortet (er schreibt wohl schneller)
Ich sehe nur den Punkt 3 als "aktuelles ioBroker Image"
der Punkt 2 kann / sollte unabhängig davon sein. (Kann aber auch angeboten werden)
Wie seht ihr diese Themen?
Gruß
derAuge
-
Da meine derzeitige Debian VM auf eine X86 Architektur läuft und meine spätere Zielarchitektur (die Diskstation) eine X86 CPU hat, muss ich mir eine ioBroker-Installation unter X86 aufbauen. `
Ich lese immer, das es eine "x64" Umbegung sein muss. https://docs.docker.com/installation/de … -7x-64-bit
-
Oh… Danke für die Info!
Gesendet von iPad mit Tapatalk
-
Gerade nachgesehen. Die VM an sich stellt eine virtuelle X64 CPU zur Verfügung. Das Debian, das ich installiert habe ist die X86 Variante (32 Bit)
root@iobroker:~# uname -m
i686
Also kann ich
a) üben, Docker in einer weiteren VM unter Debian X64 zum laufen zu bringen und
b) lerne ich dabei, wie ich meine gut funktionierende ioBroker Umgebung 1:1 auf die neue Installation umziehe.
Für Tipps zu b) wäre ich dankbar
Einfach nur ein bestimmtes Verzeichnis kopieren? Backup & Restore nutzen?
Na ja, wir werden sehen.
Hier: http://www.codefest.at/post/2014/11/25/ … eil-1.aspx habe ich noch einen kurzen Artikel gefunden, der schön erklärt, was Docker überhaupt ist. Für mich waren die Begrifflichkeiten Container, Image und Registry wichtig.
Was mir immer noch nicht klar ist. Muss ich eine eigene Registry erstellen, damit mein persönlicher Container nicht frei in der Welt rumliegt?
(You can share those Docker images via Docker Hub or your own registry.) Wenn ja, ist das aufwendig?
-
Gerade nachgesehen. Die VM an sich stellt eine virtuelle X64 CPU zur Verfügung. Das Debian, das ich installiert habe ist die X86 Variante (32 Bit)
root@iobroker:~# uname -m
i686 `
Du solltest vielleicht auch ein 64Bit Debian als VM einrichten. Nur ein "nacktes" Grundsystem mit sshDann dort die Installation von Docker durchführen
` > b) lerne ich dabei, wie ich meine gut funktionierende ioBroker Umgebung 1:1 auf die neue Installation umziehe.
Für Tipps zu b) wäre ich dankbar
Einfach nur ein bestimmtes Verzeichnis kopieren? Backup & Restore nutzen?
Na ja, wir werden sehen. `
Das ist mir auch noch nicht klar.Habe bis heute noch keinen "sauberen" Weg gefunden ein ioBroker-System zu sichern und auf einen anderen System zurück zu spielen. Siehe Punkt 4 von meinem Beitrag. http://forum.iobroker.org/viewtopic.php … =361#p3354
Da gibt es noch was zu tun.
-
Hallo,
also es gibt Wege um ein Docker Image zu sichern und zu kopieren. Werde ich dann beschreiben. Mit einer Docker Registry ist aber bequemer, es lassen sich auch eigen Registry betreiben.
Werde mal mit dem Wiki anfangen…
Steve
-
Zur Zeit versuche ich noch den Fehler bei der automatischen erstellung des Containers (Installation von ioBroker) zu finden `
Hallo,
ich versuche auch gerade ein Docker Image zu bauen (Boot2Docker on OSX). Ich habe wahrscheinlich den gleichen Fehler wie du - und eine Theorie, wie es dazu kommt. (Ich habe beruflich etwas Erfahrung mit Docker gesammelt.)
Das Problem, dass ich habe, ist dass die Admin Instanz nicht gestartet wird. Ich habe dann manuell eine zweite Admin nachinstalliert (Anleitung hier im Forum) - die läuft.
In der Instanzübersicht sind beide Admins zu sehen - nur hat die erste einen falschne Hostnamen für den Server. Ich vermute folgenden Hintergrund:
Man muss bei Docker zwischen dem Build Prozess und der Runtime unterscheiden. Während des Builds (docker build …) wird auch eine temporäre "VM" hochgefahren und die Kommandos laufen in dieser ab. Bei "npm install iobroker" während des Build Prozesses wird auch die Admin installiert und nimmt sich den zu der Zeit gültigen zufälligen Hostnamen. Zur Laufzeit existiert diese temporäre "VM" aus dem Build Prozess aber nicht mehr und diese Instanz ist nicht mehr zu erreichen. Erst die nachinstallierte Instanz hat bei mir denn auch den richtigen Hostnamen in der Tabellen unter "Server" stehen. Die Lösung müsste sein, die Admin Instanz erst zur Laufzeit zu erzeugen, evtl durch ein kleines Init-Script. Falls man das Installieren der Admin während des Builds nicht verhindern kann, muss man sie u.U. beim Build gleich wieder entfernen.
Ein weiteres Problem dürfte der Homematic XML RPC Server werden. Beim Aufruf der XML RPC Schnittstelle muss man die Callback Adresse angeben - das ist unter Docker gar nicht so einfach. Man muss den RPC Port auch mittels -p XXXX:YYYY beim Start durchschleifen und dann der Homematic als Callback Adresse den Docker Host mitgeben (quasi als Proxy). Ich hatte das gleiche Problem bei hm2mqtt. Bei ioBroker bin ich aber noch nicht so weit.
Mein derzeitiger Stand: https://github.com/MehrCurry/docker-iobroker