Ankündigung

Einklappen
Keine Ankündigung bisher.

Volumes mit Edomi Docker auf Synology

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    Volumes mit Edomi Docker auf Synology

    Ich habe ein Verständnis-Problem mit den gemounteten Volumes des Edomi Docker Images (edomi-docker 2.03.4) auf meiner Synology.

    Wie von hannesh bereits beschrieben habe ich mittels Docker GUI diese 3 mount-Pfade eingebunden:

    image.png

    Die Ordner sind leer, ich habe das Image zurückgesetzt und neu gestartet. Nun sollten da ja entspr. Dateien in das Verzeichnis /usr/local/edomi installiert werden. Aber im Protokoll erscheint dann auch bei mir sobald die edomi.ini konfiguriert werden soll:

    image.png

    starwarsfan hat dann darauf hingewiesen, besser "echte" Docker-Volumes und keine Bind-Mounts zu nehmen. Hier steige ich aus... Bei den im GUI angelegten Volumes handelt es sich doch nicht um Bind-Mounts, oder?

    Ich habe meine Einstellungen mal als JSON Datei exportiert und da rein geschaut:

    Code:
    },
    "use_host_network" : false,
    "volume_bindings" : [
    {
    "host_volume_file" : "/docker/edomi/edomi-backups",
    "mount_point" : "/var/edomi-backups",
    "type" : "rw"
    },
    {
    "host_volume_file" : "/docker/edomi/edomi-installation",
    "mount_point" : "/usr/local/edomi",
    "type" : "rw"
    },
    {
    "host_volume_file" : "/docker/edomi/edomi-mysql",
    "mount_point" : "/var/lib/mysql",
    "type" : "rw"
    }
    ]
    }

    An den Berechtigungen innerhalb der Synology muss ich ja wohl nicht schrauben, die Ordner habe ich als (Syno)-Admin erstellt und die werden ja vom System beschrieben und nicht von einem anderen User....


    Ich habe alles ausschließlich über das GUI von Synology Docker eingegeben.

    Beim Anlegen eines weiteren Containers (iperf) fiel mir auf, dass man damit (noch?) nicht alle nötigen Einstellugen vornehmen kann, Dazu muss man die Konsole bemühen.

    So habe ich mich nun über SSH auf die Synology verbunden und mal mit

    Code:
    sudo docker volume create testvolume
    ein Volume namens "testvolume" erstellt um zu sehen, was so passiert.

    In der GUI sehe ich dieses Volume nirgends, auch nicht in der Verzeichnisstruktur (jedenfalls finde ich es nicht). Mittels

    Code:
    sudo docker volume list
    wird es als "local" angezeigt, nebst 27 anderen mit kryptischen Namen:

    image.png

    Hier fällt mir auf, dass ich die in der GUI angelegten Volumes hier nirgends sehe. Entweder sind das dort wirklich keine "echten" Volumes oder sie stehen hier hinter den kryptischen Bezeichningen?

    Hat denn es denn jemand geschafft, die Volumes ausschließlich in der GUI anzulegen und dann den Edomi-Container erfolgreich zu starten? Vielleicht ist das ja hier der Ansatz, den Container nur mit der Konsole zu erstellen nachdem man vorher die Volumes angelegt hat?

    #2
    So wie ich weiss bzw meine Erfahrungen sind und was hier schon in anderen Threads geschrieben wurde ist das einbinden von Volumes auf der Synologie-Docker nicht so einfach bis gar nicht möglich.

    Kommentar


      #3
      Hallo miteinander

      Zitat von beauty Beitrag anzeigen
      So wie ich weiss bzw meine Erfahrungen sind und was hier schon in anderen Threads geschrieben wurde ist das einbinden von Volumes auf der Synologie-Docker nicht so einfach bis gar nicht möglich.
      Genau so ist es. Da man auf der Syno keine echten Docker-Volumes anlegen kann, hat man da ganz schlechte Karten. Details siehe unten.


      Zitat von sammawatt Beitrag anzeigen
      Wie von hannesh bereits beschrieben habe ich mittels Docker GUI diese 3 mount-Pfade eingebunden:
      Eben, das sind Pfade und keine Volumes.



      Zitat von sammawatt Beitrag anzeigen
      Die Ordner sind leer, ich habe das Image zurückgesetzt und neu gestartet. Nun sollten da ja entspr. Dateien in das Verzeichnis /usr/local/edomi installiert werden.
      Genau das funktioniert aber nur mit Docker-Volumes und nicht mit Bind-Mounts.


      Zitat von sammawatt Beitrag anzeigen
      starwarsfan hat dann darauf hingewiesen, besser "echte" Docker-Volumes und keine Bind-Mounts zu nehmen. Hier steige ich aus... Bei den im GUI angelegten Volumes handelt es sich doch nicht um Bind-Mounts, oder?
      Nein, leider sind das eben genau Bind-Mounts und damit genau das, was Du a) nicht willst und b) nur das was die Syno kann.


      Zitat von sammawatt Beitrag anzeigen
      Ich habe alles ausschließlich über das GUI von Synology Docker eingegeben.
      Und dort gibt es leider keine Option um Docker-Volumes zu anzulegen resp. zu verwenden.


      Zitat von sammawatt Beitrag anzeigen
      So habe ich mich nun über SSH auf die Synology verbunden und mal mit
      Code:
      sudo docker volume create testvolume
      ein Volume namens "testvolume" erstellt um zu sehen, was so passiert.
      In der GUI sehe ich dieses Volume nirgends, auch nicht in der Verzeichnisstruktur (jedenfalls finde ich es nicht).
      Und das ist dann das zweite Problem. Selbst wenn Du ein Volume händisch anlegst, "sieht" das Syno-Docker-UI dieses Volume nicht.
      ​​​​​​​
      Von daher wird's auf der Syno mit Docker wohl nicht sonderlich gut laufen. Es sein denn natürlich, man macht das komplett händisch via ssh auf der Konsole, dann sollte das kein Problem sein.
      Kind regards,
      Yves

      Kommentar


        #4
        Ah vielen Dank, jetzt habe ich den Unterschied verstanden. Sollte in der GUI besser "Mounts" genannt werden statt Volumes, das verwirrt...


        Zitat von starwarsfan Beitrag anzeigen
        Es sein denn natürlich, man macht das komplett händisch via ssh auf der Konsole, dann sollte das kein Problem sein.
        Prinzipiell bin ich bereit diesen Weg zu gehen, zumal über SSH erstellte Container ja im GUI auch erscheinen und sich dort starten/stoppen lassen, auch wenn die per Kommandozeile erstellten Volumes nicht angezeigt werden.

        Allerdings:
        Wo sind dann noch die Vorteile? Ich kann ja anscheinend "von außen" auch nicht auf diese "echten" Volumes zugreifen... Jedenfalls habe ich als root die komplette Synology per SSH durchsucht, das erstellte "testvolume" ist nirgends zu finden, wird wohl in irgendeiner Datenbank stecken.
        Sinn des Ganzen war ja, dass man auf die relevanten Verzeichnisse gut zugreifen kann zwecks Sicherung, auch wenn CentOS nicht mehr starten kann etc.

        Gibt es noch Gründe, das mit den echten Volumes per SSH zu machen die mir entgangen sind? Sonst lasse ich es einfach.

        Kommentar


          #5
          Also ich habe damals nach ein paar versuchen aufgegeben.... entweder hatte ich auch nur "leere" Ordner oder eben Volumes die nicht aufzufinden waren. Mir fehlte dann auch die Zeit und das Know How mich da weiters damit zu beschäftigen. Ich wäre natürlich auch an einer Lösung interessiert.

          Kommentar


            #6
            So ich habe nach etlichen Stunden probieren eine Lösung gefunden.

            Zitat von starwarsfan Beitrag anzeigen
            Hallo miteinander
            Und das ist dann das zweite Problem. Selbst wenn Du ein Volume händisch anlegst, "sieht" das Syno-Docker-UI dieses Volume nicht.

            Von daher wird's auf der Syno mit Docker wohl nicht sonderlich gut laufen. Es sein denn natürlich, man macht das komplett händisch via ssh auf der Konsole, dann sollte das kein Problem sein.
            Das dachte ich zunächst auch und leider ist das Synology Docker UI irgendwie schon stark beschnitten.

            Ich habe als erstes portainer auf der Synology installiert. Funktioniert nach folgender Anleitung recht zügig:

            https://smarthome.buanet.de/2018/12/...y-diskstation/

            Was mir als erstes aufgefallen ist, dass hier in Portainer auch alle per Kommandozeile erstellten Volumen angezeigt werden.

            Bildschirmfoto 2022-09-03 um 21.27.10.png

            Dann habe ich einen Versuch unternommen und den Edomi Container mit Portainer gestartet und bis jetzt verlaufen alle Tests positiv.

            Bildschirmfoto 2022-09-03 um 21.32.38.png
            Und mit diesen Einstellungen läuft das dann

            Kommentar


              #7
              Probiere mal via Portainer deine Docker Images zu verwalten - damit hast Du auf jeden Fall mehr Möglichkeiten als mit der Syno Oberfläche. Vielleicht klappt es damit ja besser.....

              Kommentar


                #8
                Das heisst dann das das eigentliche Problem nur an der Docker UI liegt und nicht an der Syno selbst? Sind die Ordner dann auch befüllt?
                Werde das auch mal testen wenn ich mal bissel mehr zeit finde.

                Kommentar


                  #9
                  Zitat von beauty Beitrag anzeigen
                  Das heisst dann das das eigentliche Problem nur an der Docker UI liegt und nicht an der Syno selbst? Sind die Ordner dann auch befüllt?
                  Werde das auch mal testen wenn ich mal bissel mehr zeit finde.
                  Die Ordner auf der Synology werden nicht gefüllt, da ja Docker-Volumes erstellt werden und keine Bind-Mountings von Synology Ordnern

                  Kommentar


                    #10
                    Achso ja... Denkfehler... danke....

                    Kommentar


                      #11
                      Hallo miteinander,

                      also um wieder mal Klarheit bzgl. Bind-Mounts vs. Docker-Volumes zu schaffen:

                      Bind-Mounts sind wie der Name schon sagt, Verzeichnisse auf dem Host-System, welche an resp. in den Container gemountet werden. Der Container bekommt davon nichts mit, aus seiner Sicht ist das ein ganz normales Verzeichnis innerhalb seines Verzeichnisbaumes.

                      Docker-Volumes sind technisch natürlich auch nur Daten auf der Platte des Host-Systems. Allerdings werden diese vollständig von Docker verwaltet.

                      Ein grosser Vorteil von Volumes ist, dass man sich nicht mit Berechtigungsproblemen herumschlagen muss, da diese bei der initialen Verwendung eines Volumes korrekt passend zum Container angelegt werden. Das springt einem nämlich bei Bind-Mounts sehr schnell ins Genick!

                      Der zweite grosse Vorteil, welcher auch genau hier bei Edomi verwendet wird ist, dass jungfräuliche Docker-Volumes mit dem Inhalt befüllt werden, welcher sich an der Stelle des jeweiligen Mountpoint im Image befindet. Das heisst also, dass beim ersten Start eines Containers mit frisch angelegten Docker-Volumes der Inhalt der Mountpoints aus dem Image in die Volumes kopiert wird. Genau so wird die Persistenz erreicht, dass man den Container wegwerfen und eine neue Instanz starten kann, welche wiederum diese nun bereits bestehenden Volumes verwendet. Diese enthalten jetzt Daten und zwar von der vorherigen Container-Instanz.

                      Aber wie gesagt, dieser Mechanismus funktioniert nur mit Docker-Volumes und nicht mit Bind-Mounts.
                      Kind regards,
                      Yves

                      Kommentar


                        #12
                        Hi

                        Zitat von mknautz Beitrag anzeigen
                        Ich habe als erstes portainer auf der Synology installiert.
                        Ok, klar. Damit umgehst Du das Syno-UI natürlich komplett. Cool, dass das so funktioniert und danke für's Feedback!
                        Kind regards,
                        Yves

                        Kommentar


                          #13
                          Hab nun auch mal Portainer installiert...funktioniert soweit ganz gut... mir zeigt es 153 Docker-Volumes an.... mal durchforsten was alles weg kann....

                          Kommentar


                            #14
                            Zitat von beauty Beitrag anzeigen
                            ...mal durchforsten was alles weg kann....
                            Dieser Befehl löscht alle Volumes die nicht benutzt werden:

                            Code:
                            sudo docker volume prune

                            Alternativ im Portainer in der Volumeansicht, da steht ein "unused" hinter den obsoleten Volumes

                            Kommentar


                              #15
                              Das mit den Volumes läuft bei mir jetzt auch rund. Bis auf einen Patzer: Ich hatte versuchsweise noch einen Port definiert und dachte mir, da ich ja nur die Ports ändere, ich könnte das in der Docker GUI machen. Denn die Portainer GUI bietet dazu keine Möglichkeit, man muss den Container neu aufbauen.

                              Anscheinend ist das bei der Docker GUI aber auch so und die macht das im Hintergrund einfach, denn danach waren meine Volumes wieder weg (und in Portainer als "unused" markiert".

                              Also Merke: Die Finger vom Docker GUI lassen!

                              Was noch nicht klappt rund läuft:
                              • Kommunikation mit IP Router (klappt nur bei ca 10% der Starts, ansonsten hunderte "Kein TUNNELING_ACK vom Router erhalten" Fehler im Log, bei Send und Receive im Status 0)
                              • Wenn es denn läuft kommt trotzdem beim Start keine Antwort auf InitScan Anfragen. Sonstoge zyklische Telegramme kommen aber an.
                              • Visualisierung: Im Edomi Status ist alles auf Grün, aber es wird "keine Visu online" angezeigt. Rufe ich die Visu-Seite auf, kann ich oben eine meiner Visus auswählen und Zugangsdaten eingeben, aber es kringelt dann nur rot. Ich vermute irgendwas mit dem Websocket
                              • Basiskonfiguration: IP der Visu steht auf 127.0.0.1, was man ja bei Docker-Verwendung auf die IP des Hosts stellen soll. Danach Neustart des Servers und es steht da wieder 127.0.0.1...?
                              Ich wurschtel noch bissl rum und werde dann wohl mal einen Thread pro Problem aufmachen, das ist ja dann OT

                              Kommentar

                              Lädt...
                              X