Docker und influxdb ?

haydibe

Benutzer
Sehr erfahren
Mitglied seit
12. Apr 2016
Beiträge
1.478
Punkte für Reaktionen
362
Punkte
103
Kleiner Tipp: Teil doch mal Screenshots von ALLEN Container-Einstellungen, damit Außenstehende verstehen was Du da zusammengeklickt hast.

Docker Images sind alles andere als standardisiert und absolut nicht vergleichbar mit so etwas standardisiertem wie ein Zündschlüssel/-knopf. Je nachdem welchen Komfort der Image-Maintainer vorgesehen hat geht es einfach oder eben nicht - das steht bei einem anständigen Image dann aber auch in der Dockerhub Beschreibung

Wo ist denn das Problem die beschreibung von Dockerhub zu in Syno-klick-klick-Aktionen zu überführen?
-e KEY=VALUE -> Im Reiter "Umwelt", die Keys unverändert übernehmen!
-v /pfad/auf/dem/host:/pfad/im/container -> Im Reiter "Volumes", die Container Seite unverändert übernehmen
-p host-port:container-port -> im Reiter "Port-Einstellung", die Containre Seite unverändert übernehmen.

Jetzt musst Du aus der Dockerhub Beschreibung nur noch verstehen welche Vorgaben dort erwartet werden und diese dann in die Syno-Einstellungen überführen.
 

ViperRt10

Benutzer
Mitglied seit
16. Aug 2009
Beiträge
1.459
Punkte für Reaktionen
30
Punkte
74
wenn ich richtig liege, dann ist hier mein Einstieg:
https://registry.hub.docker.com/_/influxdb/

Configuration​

InfluxDB can be configured using a mix of a config file, environment variables, and CLI options. To mount a configuration file and use it with the server, you can use this command to generate the default configuration file:

$ docker run --rm influxdb:2.0 influxd print-config > config.yml
Modify the default configuration, which will now be available under $PWD. Then start the InfluxDB container:

$ docker run -p 8086:8086 \
-v $PWD/config.yml:/etc/influxdb2/config.yml \
influxdb:2.0

das Image influxdb:2.0/lastest ist im Docker geladen.

ich gehe ins Terminal (Mac) und logge mich ein und gebe "sudo -i" für die Schreibrechte ein

dann der erste Befehl zum anlegen der Config:
docker run --rm influxdb:2.0 influxd print-config > config.yml

dann die config umlegen auf ein Syno-Verzeichnis
docker run -p 8086:8086 \
-v $PWD/config.yml:/etc/influxdb2/config.yml \
influxdb:2.0
- und da scheitere ich aktuell an dem $PWD, was genau muss dort stehen? /volume1/docker/influxdb ? (das wäre mein erzeugtes Verzeichnis)
 
Zuletzt bearbeitet:

haydibe

Benutzer
Sehr erfahren
Mitglied seit
12. Apr 2016
Beiträge
1.478
Punkte für Reaktionen
362
Punkte
103
Bei -p und -v sind die Werte links vom Doppelpunkt die Host-Seite, die musst Du so einstellen, dass sie zu deinem System passen. Die Werte rechts müssen EXAKT so übernommen werden (außer man weiss was man tut und warum man es anders haben möchte)
Bei -e sind die Werte Links vom Gleichheitszeichen die Keys, diese müssen EXALT so übernommen werden. Die Werte rechts neben dem Gleichheitszeichen müssen mit den Werten angepasst werden, die Du verändern willst.

Die Dockerhub Beschreibung enthält für die Hostseite von -v und -p immer nur Beispiele, genauso bei den Werten von -e.

Hattest Du nicht geschrieben, dass Du das auf nem Raspi mit Docker schon gemacht hast? Teil doch das was Du dort gemacht hast und man hilft dir das anzupassen. Desto klarer die von dir geteilte Information ist, desto eher kann man dir helfen....

Orientier dich mal an dieser Anleitung: https://www.blackvoid.club/grafana-influxdb-telegraf-git-monitoring-setup-via-docker/. Da hat Rusty aus dem https://www.synoforum.com/ Forum einen gut verständlichen Blogpost verfasst. Die Anleitung ist veraltet und verwendet Influxdb v1 statt das aktuelle v2.
 
Zuletzt bearbeitet:

luddi

Benutzer
Sehr erfahren
Mitglied seit
05. Sep 2012
Beiträge
3.242
Punkte für Reaktionen
586
Punkte
174
Auf der von dir verlinkten influx Beschreibung steht folgendes:
"Modify $PWD to be the directory where you want to store the configuration file."

Und genau wie so eben @haydibe geschrieben hat musst du für den Platzhalter $PWD den Pfad angeben an dem deine yml Konfiguration liegt.

Wenn es wie bei dir genannt unter /volume1/docker/influxdb/config.yml liegt dann sollte der Befehl für die Option -v wie folgt aussehen:
-v /volume1/docker/influxdb/config.yml:/etc/influxdb2/config.yml \
 

ViperRt10

Benutzer
Mitglied seit
16. Aug 2009
Beiträge
1.459
Punkte für Reaktionen
30
Punkte
74
Guten Morgen
@haydibe das ist klar, das was jetzt zu tun ist, das gibt es am Raspi nicht, da muss keine yaml gemountet werden, das ist docker spezifisch
@luddi danke, ja darum gehts den Platzhalter zu ersetzen. auch so wie du das schreibst, läuft es bei mir in einen Syntax Fehler
$ docker run -p 8086:8086 \ -v /volume1/docker/influxdb/config.yml:/etc/influxdb2/config.yml \ influxdb:2.0


docker: invalid reference format.

nur zur Klarstellung, es muss dort keine yml Datei bereits existieren?
 

Anhänge

  • Bildschirmfoto 2021-05-06 um 06.35.04.png
    Bildschirmfoto 2021-05-06 um 06.35.04.png
    205,5 KB · Aufrufe: 18

haydibe

Benutzer
Sehr erfahren
Mitglied seit
12. Apr 2016
Beiträge
1.478
Punkte für Reaktionen
362
Punkte
103
@haydibe das ist klar, das was jetzt zu tun ist, das gibt es am Raspi nicht, da muss keine yaml gemountet werden, das ist docker spezifisch
Ich verstehe das es auf dem Pi nicht in Docker lief.

Ich vermute eher das Dein Problem ist, dass Du damals InfluxDB 1.x verwendet hast und jetzt InfluxDB 2.x am start ist. InfluxDB 2 im Container kann sowohl über Umwelt-Parameter und/oder eine conf konfiguriert werden. Ich hab es gestern mal spasseshalber mit den Umwelt-Parametern angelegt, wie sie weiter unten in der Beschreibung auf Dockerhub ziemlich weit unten zu finden sind.

Achtung: während InfluxDB 1.x noch InfluxQL zur Abfrage verwendet hat, verwenden InfluxDB 2.x jetzt Flux zur Abfrage. Beide sind komplett unterschiedlich! Was immer Du mit der InfuxDB nutzen willst muss Flux Abfragen senden, falls es das nicht kann sollte man bei InfluxDB 1..x bleiben.

Ich hab mir gestern spassehalber mal InfluxDB+Telegraf+Grafana augesetzt, um am Ende zu merken, dass es bisher scheinbar keine fertigen Dashboards für InfluxDB 2.x gibt.
 
  • Like
Reaktionen: ViperRt10

luddi

Benutzer
Sehr erfahren
Mitglied seit
05. Sep 2012
Beiträge
3.242
Punkte für Reaktionen
586
Punkte
174
nur zur Klarstellung, es muss dort keine yml Datei bereits existieren?
Ich vermute nämlich schon dass dort eine yml config Datei liegen muss.

Du hattest doch in Beitrag #22 auf die Docker Hub Seite verwiesen wo die Configuration erklärt ist.

Zuerst erstellt man ein Default Configuration File:
$ docker run --rm influxdb:2.0 influxd print-config > config.yml
Hiermit wird ein Container gestartet, die Config über print ausgegeben und in die Datei config.yml umgeleitet, also auf dein System angelegt. In diesem Beispiel in dem Pfad an dem du dich bei der Ausführung des Kommandos befindest.

Anschließend kopiert man diese Datei in das Verzeichnis seiner Wahl oder man gibt gleich bei der Erstellung den benötigten Pfad an damit es direkt an der richtigen Stelle liegt:
$ docker run --rm influxdb:2.0 influxd print-config > /volume1/docker/influxdb/config.yml

Dann bearbeitest du die yml nach deinen Anforderungen und startest den Container wie bereits angegeben.
 

ViperRt10

Benutzer
Mitglied seit
16. Aug 2009
Beiträge
1.459
Punkte für Reaktionen
30
Punkte
74
@haydibe danke für den Hinweis! denke, das hätte mich auch wieder blockiert. Ich möchte die Influxdb nur dafür nutzen die Daten für Grafana vom ioBroker zu speichern/übermitteln.
dh um weiteres Konfliktpotential zu vermeiden, sollte ich auf die influxdb 1.7 gehen

@luddi verstehe!
dh nun für 1.x muss dann auch nicht latest, sondern das entspr. Image downloaden werden, gehe ich davon aus
1.8.5 ?

dann:
docker run -p 8086:8086 \
-v influxdb:/var/lib/influxdb \
-v /volume1/docker/influxdb/influxdb.conf:/etc/influxdb/influxdb.conf \
influxdb:1.8.5
 

Anhänge

  • Bildschirmfoto 2021-05-06 um 10.19.15.png
    Bildschirmfoto 2021-05-06 um 10.19.15.png
    308,3 KB · Aufrufe: 9

ViperRt10

Benutzer
Mitglied seit
16. Aug 2009
Beiträge
1.459
Punkte für Reaktionen
30
Punkte
74

luddi

Benutzer
Sehr erfahren
Mitglied seit
05. Sep 2012
Beiträge
3.242
Punkte für Reaktionen
586
Punkte
174
--> /etc influxdb/influxdb.conf

hast du hier nicht etwas vergessen? Ein slash zwischen etc und influxdb ???
/etc/influxdb/influxdb.conf
 
  • Haha
Reaktionen: blurrrr

ViperRt10

Benutzer
Mitglied seit
16. Aug 2009
Beiträge
1.459
Punkte für Reaktionen
30
Punkte
74
das war ein copy paste Fehler, sry
$ docker run -p 8086:8086 -v influxdb:/var/lib/influxdb \ -v /volume1/docker/influxdb/influxdb.conf:/etc/influxdb/influxdb.conf \ influxdb:1.7


docker: invalid reference format.
 

DrDeath

Benutzer
Mitglied seit
31. Aug 2018
Beiträge
193
Punkte für Reaktionen
79
Punkte
34
du musst schon den Pfad korrekt angeben: --> /volume1/docker/

Einzeiler
YAML:
docker run -p 8086:8086 -v /volume1/docker/influxdb:/var/lib/influxdb -v /volume1/docker/influxdb/influxdb.conf:/etc/influxdb/influxdb.conf influxdb:1.7

Mehrzeiler:
YAML:
docker run -p 8086:8086 \
  -v /volume1/docker/influxdb:/var/lib/influxdb \
  -v /volume1/docker/influxdb/influxdb.conf:/etc/influxdb/influxdb.conf \
influxdb:1.7
 
  • Like
Reaktionen: ViperRt10

ViperRt10

Benutzer
Mitglied seit
16. Aug 2009
Beiträge
1.459
Punkte für Reaktionen
30
Punkte
74
danke für deine Hilfe!

habs grad probiert: (muss ein conf file bereits existieren?)
$ sudo docker run -p 8086:8086 \


> -v /volume1/docker/influxdb:/var/lib/influxdb \


> -v /volume1/docker/influxdb/influxdb.conf:/etc/influxdb/influxdb.conf \


> influxdb:1.7


Password:


docker: Error response from daemon: Bind mount failed: '/volume1/docker/influxdb/influxdb.conf' does not exists.


ERRO[0000] error waiting for container: context canceled
 

DrDeath

Benutzer
Mitglied seit
31. Aug 2018
Beiträge
193
Punkte für Reaktionen
79
Punkte
34
Ja, das sagt die Fehlermeldung ja aus...... was in dieser configurations Datei drin stehen soll weiß ich leider nicht.
 

ViperRt10

Benutzer
Mitglied seit
16. Aug 2009
Beiträge
1.459
Punkte für Reaktionen
30
Punkte
74
ich kapiers noch nicht, warum ich ein file (conf) erstellen muss, dachte des wird das file gemoutet, aus dem container auf mein volume1/..
ein conf file... mir fehlt noch der Plan.
 

Tommi2day

Benutzer
Mitglied seit
24. Aug 2011
Beiträge
1.165
Punkte für Reaktionen
63
Punkte
68
Das conf file wird auch gemountet, wenn man es denn schon hat. Wenn man kein File bereits an der richtigen Stelle liegen hat, kann man sich mit dem docker run .... print-config... Befehl aus der Doku vom Image eine Default Config generieren lassen, die dann anpassen und dann den eigentlichen Container normal starten. So wie von @luddi in #27 weiter oben geschrieben
 


 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat