Nach Diet-Pi update, Dockers Volumen wieder einbinden.

Wooty

New member
Hallo,

Hach der DAU hat wieder zugeschlagen wollte eigentlich nur den Diet-Pi updaten und hab alles kaputt gemacht (ein zwei mal zu oft J geklickt).
Irgendwie habe ich es als Noob geschafft das Diet-Pi von einer Festplatte bootet und Dockers, Portainer, nodeRed, Mosquito ne Influxdb und Grafana ans laufen zu bekommen.

Seit nem halben Jahr wollte Diet-Pi ein Update machen. Mental habe ich das ausgehalten es NICHT zu machen.
Jetzt wollte ich zwei neue Shellys einbinden. Warum ich es dann doch wissen wollte? K.A.! 🤔

Die Docker-Volumes liegen noch unter: /mnt/dietpi_userdata/docker-data/volumes/
Und Docker läuft wieder, allerdings nur ohne den Eintrag
Code:
{
    "data-root": "/mnt/dietpi_userdata/docker-data",
    "log-driver": "journald",
    "log-level": "warn",
    "debug": false
}
in der Konfigurationsdatei deamon.json.
Kommentiere ich das weg, läuft Dockers, mit meckert er invalid Argument.
Wie bekomme ich die Volumes wieder eingebunden?

Danke schon mal im Voraus!
 
Zuletzt bearbeitet:
Überprüf das doch mal via:
dockerd --validate --config-file=/etc/docker/daemon.json
In der Regel kommt auch irgendwas an Fehlermeldung raus, womit man etwas anfangen kann. Einfach "nur" ein "invalid argument" wäre schon etwas schmal... Sicher, dass da nichts weiter steht? ☺️
 
Sorry, es war kein Argument, sondern ein Zeichen, hier mit o.g. Config:
Code:
dockerd --validate --config-file=/etc/docker/daemon.json
unable to configure the Docker daemon with file /etc/docker/daemon.json: invalid character '{' after top-level value
hier ohne:
Code:
dockerd --validate --config-file=/etc/docker/daemon.json
configuration OK
 
Und Docker läuft wieder, allerdings nur ohne den Eintrag
Code:
{
"data-root": "/mnt/dietpi_userdata/docker-data",
"log-driver": "journald",
"log-level": "warn",
"debug": false
}
in der Konfigurationsdatei deamon.json.
Ist das "alles" was in der daemon.json steht, oder steht da noch mehr drin? Poste vielleicht mal den kompletten Inhalt der Datei.
 
Code:
{
    "data-root": "/mnt/dietpi_userdata/docker-data",
    "log-driver": "journald",
    "log-level": "warn",
    "debug": false
}
{
    "default-address-pools":
    [
      {"base":"192.168.0.0/16","size":24}
    ]
}
{
  "metrics-addr" : "172.17.0.1:9323",
  "experimental" : true
}
 
Ich mag mich irren (vor allem, weil ich mit Docker eher nichts an der Mütze habe), aber... nicht vllt eher so?

Code:
{
    "data-root": "/mnt/dietpi_userdata/docker-data",
    "log-driver": "journald",
    "log-level": "warn",
    "debug": false

    "default-address-pools":
    [
      {"base":"192.168.0.0/16","size":24}
    ]

  "metrics-addr" : "172.17.0.1:9323",
  "experimental" : true
}

Jedenfalls kann man sich anhand der Fehlermeldung schon ziemlich sicher sein, dass etwas mit der Klammersetzung nicht stimmt.
 
Das mit den Klammern hab ich schon ausprobiert. Danke für den Link, zur Referenz!
Laut Datum ist die daemon.json seit meiner Einrichtung letztes Jahr nicht mehr verändert worden.
Hab mir noch ne 'daemon.json_back' angelegt, weil ich noch mit Prometeus rumgebastel habe. Egal!
Funzen beide nicht... Hach, kein Backup, kein Mitleid.
Weiß Du, die Volumes liegt hier rum ich muss nur den richtigen Stecker finden um die wieder an Docker zu docken. :mad:
Uff, aber alles wieder aufbauen... och nööööö!

Danke Dir!
 
Vielleicht hat ja @Confluencer diesbezüglich noch eine Idee, für mich sieht das auf den ersten Blick eigentlich erstmal richtig aus, aber ich hab davon keine Ahnung 😅
 
Als json-Dokument darf es auf oberster Ebene nur ein Paar Geschweifte-Klammern geben. Alles andere wäre kein valides json-Dokument.

Laut Doku sollte die Konfiguration so aussehen:

Code:
{
    "data-root": "/mnt/dietpi_userdata/docker-data",
    "log-driver": "journald",
    "log-level": "warn",
    "debug": false,
    "default-address-pools": [
      {
        "base": "192.168.0.0/16",
        "size": 24
      }
    ],
  "metrics-addr" : "172.17.0.1:9323",
  "experimental" : true
}

Quellen:
- https://docs.docker.com/engine/reference/commandline/dockerd/
- https://docs.docker.com/config/containers/logging/journald/
- https://docs.docker.com/config/daemon/prometheus/

Wobei ich mir nicht sicher bin, ob experiemental für metrics-addr überhaupt noch benötigt wird. Vor etlichen Monden musste man den dafür anschalten, ob er jetzt noch wirklich notwendig ist: keine Ahnung
 
Die Docker-Volumes liegen noch unter: /mnt/dietpi_userdata/docker-data/volumes/
Liegt die Docker Data-Root auch wirklich unter /mnt/dietpi_userdata/docker-data/. Viele leute verwenden einfach nur Binds statt Named Volumes, bei denen ein Host-Verzeichnis in ein Container-Verzeichnis gemapped wird, bei denen ist zwar völlig egal wo die liegen, aber die liegen in der Regel eher nicht das Docker Data-Root Verzeichnis. Named Volumes dagegen liegen immer im volumes Unterverzeichnis vom Docker Data-Root Verzeichnis.
Das Data-Root Verzeichnis darf auf kein Remote-Share liegen.
 
OK, das mit den Klammern hat wohl geklappt!
Ja, ich habe meinen Volumes einen Namen gegeben, wenn mit Named Volumes ein Volumen mit Namen, statt Random Zahlen/Buchstabengewirr gemeint ist, obwohl ein Random Zahlen/Buchstabengewirr auch eine Name... ach lassen wir das! 🫣
Code:
# du -sh 
3,7G    .
scheint auch gefüllt zu sein.
Und nach einem Reboot...

LÄUFT DOCKER!!!! 🤩

Wow, Danke @Confluencer ! :love:
Der Stecker musste wohl nur die richtige Form haben!
Aber warum lief das vorher schon seit einem Jahr mit falscher Verklammerung?
Naja

Und Danke @blurrrr für's anstubsen! 😚

Hach! Herrlich! Heute Abend dann mal n Backup fahren!

Danke, Danke!
 
wenn mit Named Volumes ein Volumen mit Namen, statt Random Zahlen/Buchstabengewirr gemeint ist,
Es ist gemeint was unter `docker volume ls` aufgeführt wird.

Aber warum lief das vorher schon seit einem Jahr mit falscher Verklammerung?
So wie es in Post #5 aussah, ergibt es für mich null Sinn das es vorher funktioniert haben könnte. -> es ist schlichtweg kein valides JSON-Dokument. Wenn NUR der Inhalt von Post #1 vorhanden gewesen wäre, hätte es auch funktioniert.

Gratulation das es jetzt funktioniert!
 

Zurzeit aktive Besucher

Letzte Anleitungen

Statistik des Forums

Themen
4.577
Beiträge
46.853
Mitglieder
4.212
Neuestes Mitglied
xup12
Zurück
Oben