Hauptmenü

Fhem Docker Image

Begonnen von Steffen, 10 November 2017, 18:21:49

Vorheriges Thema - Nächstes Thema

Steffen

Zitat von: Wernieman am 13 November 2017, 08:13:16
Stichwort: docker-compose

Ok habe ich jetzt mal versucht aber bekomme eine Fehler meldung und kann vielleicht sagen woran es liegt?!?


version: '2'

services: fhem: expose: - "8083" - "7072" ports: - "8083:8083" - "7072:7072" image: steffen/fhem2 privileged: true



root@debian:/Docker_Test# docker-compose up
Recreating 98f73ae03f4c_98f73ae03f4c_98f73ae03f4c_98f73ae03f4c_98f73ae03f4c_98f73ae03f4c_98f73ae03f4c_98f73ae03f4c_98f73ae03f4c_dockertest_fhem_1 ... Recreating 98f73ae03f4c_98f73ae03f4c_98f73ae03f4c_98f73ae03f4c_98f73ae03f4c_98f73ae03f4c_98f73ae03f4c_98f73ae03f4c_98f73ae03f4c_dockertest_fhem_1 ... error

ERROR: for 98f73ae03f4c_98f73ae03f4c_98f73ae03f4c_98f73ae03f4c_98f73ae03f4c_98f73ae03f4c_98f73ae03f4c_98f73ae03f4c_98f73ae03f4c_dockertest_fhem_1 No such image: sha256:ca2cbdc721a44e301c78be6ec72deead353296e47c6526848d873a9df7efd943

ERROR: for fhem No such image: sha256:ca2cbdc721a44e301c78be6ec72deead353296e47c6526848d873a9df7efd943 ERROR: Encountered errors while bringing up the project.

Wernieman

Gib uns mal das Komplette "compose-file" ....

P.S. es gibt schon dieverse FHEM-Docker-Images bei auf dockerhub
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

Steffen

Hallo!

Mehr hatte ich in der "compose-file" noch gar nicht eingegeben, dachte für ein erstes einfaches starten würde es reichen?!

Das image steffen/fhem2 hatte ich selber erstellt über eine Dockerfile und wollte diese nun über compose starten.

Kann man den über compose keine eigenen images Starten???

Mfg Steffen

FunkOdyssey

Das YML-File ist schon wichtig.
Wenn du von "Image steffen/fhem2" sprichst, dann klingt das eher nach einem DockerHub-Image.
Ich vermute aber mal, dass du eher "build" meinst und nicht "image". Du hast doch sicherlich ein Image-Unterverzeichnis mit einem Dockerfile, oder?

Steffen

Hallo!

Nein es ist kein Docker-Hub image, hatte es selber über Dockerfile erstellt und ist unter eingabe "docker images" auch sichtbar mit id und Name "steffen/fhem2".

Im compose file, wird doch durch "build" erst das image gebaut wie ich es ja schon gemacht habe oder verstehe ich das Falsch???

Mfg Steffen

FunkOdyssey

Sorry, zeige uns doch bitte die Dateien. Ansonsten macht das Raten hier keinen Sinn.

Axxl

Zitat von: Steffen am 12 November 2017, 11:52:31
Ich habe schon versucht mein selbst erstelltes FhemImage über docker run -d -v /opt/fhem:/opt/fhem xxxx zu mounten und dachte das es so eine Art Spiegelung wäre aber
er stellt das Host Verzeichnis dann direkt in den DC(dockercontainer) ab, aber dann ist ja alles von dem vorher installierten Fhem weg, wie könnte
man es denn lösen das er die Daten vom DC ins Host Verzeichnis übernimmt?

Hallo Steffen,

ich bin auch letztens in ein Docker Container mit FHEM ungezogen. Stand vor dem gleichen Problem.
Ich binde das komplette opt/fhem verzeichnis. Habe eigentlich so im Betrieb keine Probeme.

Nun zu Deinem Problem mit dem initialen bind. Starte doch den Container mit einem bind auf ein temp verzeichnis.
Also z.b. : docker run -d -v /tmp/fhem:/tmp/fhem

Dann gehst du mal ins laufenden docker fhem container rein:
Bsp:
docker exec -it fhem /bin/bash

Dann kopierst Du das komplette /opt/fhem verzeichnis nach /tmp/fhem  (cp -r /opt/fhem /tmp/fhem)
Und wieder raus aus dem Container mit "exit"

Im Host dann einfach die Daten aus /tmp/fhem nach /opt/fhem kopieren
Und dann in Zukunft wieder den containter mit deinem "docker run -d -v /opt/fhem:/opt/fhem" starten.

Et Voila ..

Ok alles etwas hemdsärmelig .. aber so hab ich es halt aus Unwissen beim ersten bind gemacht.

Gruß,
Axel

Wernieman

- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

Steffen

Hallo!

Jetzt habe ich es, musste ein Paar Container löschen.

root@debian:/Docker_Test# docker-compose down
Stopping dockertest_fhem_1 ... done
Removing dockertest_fhem_1 ... done
Removing network dockertest_default


nun wollte ich aber noch ein Volumen hinzufügen und dann kommt der fehler:

root@debian:/Docker_Test# docker-compose up -d
ERROR: In file './docker-compose.yml', volume must be a mapping, not an array.



root@debian:/Docker_Test# cat docker-compose.yml
version: '2'

services:
   fhem:
        ports:
            - "8083:8083"
            - "7072:7072"
        image: steffen/fhem2
        privileged: true

volumes:
       - /opt/fhem/

FunkOdyssey

Ich verstehe das mit dem ,,image: steffen/fhem2" noch nicht. So musst du doch vorab manuell ,,builden". Kannst du das Image bzw. das Dockerfile nicht einfach in das Unterverzeichnis legen und es in ,,build: fhem2" umbenennen?

Wernieman

volumes:
       - /opt/fhem/


Und da fehlt das Ziel, also z.B.:

volumes:
       - /opt/fhem/:/opt/fhem/


Hinweis:
Obige Lösung ist aus dem Kopf und da ich momentan genug Glühwein intus, ohne Gewähr!
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

FunkOdyssey


Steffen

Guten Morgen!

Also irgendwie stehe ich auf dem schlauch, wenn ich mit dieser Config starte ist Fhem nicht erreichbar:

version: '2'
services:
  fhem:
    image: steffen/fhem3
    ports:
     - "8083:8083"
    volumes:
     - /fhem/data:/opt/fhem


damit schon:

version: '2'
services:
  fhem:
    image: steffen/fhem3
    ports:
     - "8083:8083"
    #volumes:
     #- /fhem/data:/opt/fhem


mein Host Ordner sieht so aus:

root@debian:/Docker_Test# ls -l /fhem/data
insgesamt 284
-rw-r--r--  1 root root  39189 Nov 15 07:02 configDB.pm
drwxr-xr-x 40 root root   4096 Nov 15 07:02 contrib
drwxr-xr-x  3 root root   4096 Nov 15 07:02 demolog
drwxr-xr-x  4 root root   4096 Nov 15 07:02 docs
drwxr-xr-x  8 root root   4096 Nov 15 06:52 fhem
drwxr-xr-x  6 root root  20480 Nov 15 07:02 FHEM
-rw-r--r--  1 root root    744 Nov 15 07:02 fhem.cfg
-rw-r--r--  1 root root  15740 Nov 15 07:02 fhem.cfg.demo
-rwxr-xr-x  1 root root 141228 Nov 15 07:02 fhem.pl
drwxr-xr-x  2 root root   4096 Nov 15 07:02 log
-rw-r--r--  1 root root  35751 Nov 15 07:02 MAINTAINER.txt
-rw-r--r--  1 root root    935 Nov 15 07:02 README_DEMO.txt
drwxr-xr-x  8 root root   4096 Nov 15 07:02 www


habe ich da einen Denkfehler, das /fhem/data doch gemountet wird und Fhem auf Docker seite drauf zugreifen können müsste???

Mfg Steffen

Wernieman

#28
Denk bitte mal nach:
Du sagst /fhem/data ... wo denkt wohl der Deamon, liegt dieses? Bestimmt nicht in Deinem "Home-Ordner"
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

Steffen

Hallo,

so recht verstehe ich nicht was du meinst, laut docker ist doch "HOST:CONTAINER" aber habe viel versucht doch irgendwie finde ich den Fehler nicht?!

Kann das an der Pfad angabe liegen, habe es auch mit ./ versucht?!

Mfg Steffen