Container Station 3 und Volume Mounts bei Anwendungen

  • Hat jemand schonmal auf Basis einer yaml Datei eine Anwendung aus mehreren docker containern versucht hochzuziehen, die zudem volume mounts enthält? Das ist eigentlich denke ich eine völlig gängige Praxis sowas zu haben, wenn man sagen wir mal eine PHP Applikation aufsetzt, die normal aus php(fpm), datenbank und webserver besteht und sofern man files zur Konfiguration hinein bringen will, volume mounts enthält. Auch bei Entwicklern ist das üblich dass man ein share das im Host liegt und in dem man arbeitet dort hinein mountet.

    Das kuriose ist, dass wenn man einzelne Container hochzieht (also eben nicht als Anwendung) das im Prinzip wunderbar möglich ist. So kann ich ganze Verzeichnisse oder auch einzelne Files vom NAS Hostfilesystem in den Container rw oder ro mappen (über den Advanced Mode bei der Storage Konfiguration).

    Versuche ich das jedoch bei einer Container Station v3 Anwendung (also auf Basis einer docker-compose.yaml Datei die erfolgreich validiert wird) zu machen, um diese 3 Container miteinander zu "verheiraten", klappt das nicht. Jeder Volume Mount einer Datei endet in einem leeren Verzeichnis mit dem Namen des Mount Ziels. Eine Datei ist ein leeres Verzeichnis. Ein Verzeichnis bleibt leer. Ich habe auch schon versucht, direkt aus dem /Container NAS-Volume zu mounten, aber das brachte keine Besserung. Attache ich mich in den Container via shell und lege dort ein file an, dann finde ich die Datei in meinem NAS nirgendwo. Weder in einem Docker Volume noch irgendwo sonst.Bin ratlos und völlig verwirrt.

    Hat jmd. ähnliche Erfahrung gemacht? Ich verwende Version 3.0.6.833 (2024/02/06).



    Nachvollziehen kann man das auch mit dem "offiziellen" docker compose file von mediawiki ganz gut!

    Hier wird die Datenbank soweit sauber aufgebaut (für das Beispiel vereinfacht als docker volume realisiert).

    Die app mediawiki hingegen soll aber 2 mounts bekommen: einmal eine Datei "LocalSettings.php und ein weiteren mount für das Bilderverzeichnis (images), das im NAS unter "/Projects/NAS/mediawiki/images" liegen soll. D.h. Alle Bilder die man im Wiki hochlädt, sollen dort im NAS Host filesystem abgelegt sein:

    Wenn man sich in den mediawiki app container attached (also in den Container die Konsole Ausführen, z.B. /bin/bash) sieht das wie folgt aus:


    Code
    root@38adfdbaadb9:/var/www/html# ls -lah LocalSettings*
    total 4.0K
    drwxr-xr-x 2 root     root       40 May  3 16:48 .
    drwxrwxrwt 1 www-data www-data 4.0K Apr 30 19:41 ..
    root@38adfdbaadb9:/var/www/html# cd LocalSettings.php/
    root@38adfdbaadb9:/var/www/html/LocalSettings.php# ls -lah
    total 4.0K
    drwxr-xr-x 2 root     root       40 May  3 16:48 .
    drwxrwxrwt 1 www-data www-data 4.0K Apr 30 19:41 ..


    Das LocalSettings ist eine Datei und kein leeres Verzeichnis!

    Im images Ordner sollten natürlich auch Dateien liegen, aber ist einfach nur leer!

    :/


    Bei den Anwendungen kann man das Storage Mapping leider nicht im Nachgang menügeführt ändern bzw. inital durchführen. Vielleicht verwende ich eine falsche Pfadangabe für den NAS Hostfolder?



    Ahhhhh.

    Ich bin über eine Sache gestolpert! Die NAS Shares liegen in der Tat woanders! Und zwar nicht auf der root ebene sondern in /share/... Herausgefunden habe ich es, als ich mich per SSH mal auf die Büchse connected habe. Es ist verwirrend, da man in der Containerbasierten "Advanced Mode" Maske das so nicht angezeigt bekommt sondern davon ausgeht, dass /Project (also mein NAS Share) auf der root Ebene liegt.

    In meinem Fall musste ich also nur noch das /share vor /Projects/NAS/mediawiki hängen und der mount funktioniert wie erwartet!


    Hätte ich mal erst recherchiert, bevor ich hier unnötig poste - aber naja, vielleicht stolpert ja jmd anderes auch drüber ;)

    3 Mal editiert, zuletzt von vanilla () aus folgendem Grund: Ein Beitrag von vanilla mit diesem Beitrag zusammengefügt.