Ich habe erfolgreich mehrere Container bereitgestellt und die internen Verzeichnisse über die CS-Oberfläche auf den QNAP-Host gemappt. Das funktioniert super. Alle Daten meiner Container befinden sich im Ordner /local/containers-data und in Unterordnern (je einer pro Container).
Nun versuche ich dasselbe innerhalb einer Anwendung mit der üblichen „compose“-Syntax, wie unten gezeigt:
Danke! Ja, es ist nur eine Frage der kurzen oder langen Syntax.
Nachdem ich deine Antwort gelesen hatte, bin ich per SSH auf das NAS gegangen und habe das Verzeichnis „/shared“ entdeckt, von dem ich nichts wusste, und unter diesem Ordner das „local“, das über FileStation zugänglich war.
Und natürlich habe ich die erwarteten Dateien im „/local/“ gefunden … genau wie in der Compose-Datei angegeben.
Also ist alles in Ordnung, wenn ich die gebundenen Volumes mit „/shared“ prefixe …
Das Seltsame ist, dass ich beim direkten Erstellen von Containern über die CS-Oberfläche nie „/shared“ angegeben habe und es trotzdem reibungslos funktioniert hat …
Ja, /share ist das oberste Arbeitsverzeichnis für alles in der QNAP-Welt. Es gibt zwar noch andere Volumes und Ordner auf der Root-Ebene /, aber diese sind hauptsächlich für das Betriebssystem und nicht Teil des Benutzer-Dateisystems. OK, einige Programme wie NoteStation und andere speichern ihre Datenbanken in diesen „anderen“ Ordnern, weshalb man vor dem Löschen des NAS den Inhalt daraus exportieren sollte, sonst verliert man alles. Das habe ich auf die harte Tour herausgefunden! Aber alle „normalen“ Ordner befinden sich unter /share.
Angenommen, meine Container-Anwendung hat einen Ordner /root/apple, der mit einem bestimmten Verzeichnis auf meinem NAS „verknüpft“ werden muss, und ich entscheide mich, den Ordner Container/folder-apple auf File Station zu verwenden.
Wir haben zwei Methoden. Die erste besteht darin, beim Erstellen des Containers in der GUI zu den Erweiterten Einstellungen und Speicher zu gehen und dann Mapping mit Host auszuwählen. Im ersten Feld wählst du den Ordner /Container/folder-apple auf dem NAS als Host aus und gibst manuell den Speicherort des Containers, /root/apple, im zweiten Feld ein.
Die zweite Methode, falls du es manuell mit einer YAML-Datei erstellst, ist, einen Mount-Punkt /share/Container/folder-apple:/root/apple im Feld -volumes anzulegen.
Das /share am Anfang ist fest, /Container ist der freigegebene Ordner, den du in File Station siehst, und /folder-apple ist der Unterordner. Das :/root/apple nach dem Doppelpunkt steht für den Speicherort innerhalb deines Containers.
Nach Abschluss wird dein Container-Ordner /root/apple mit Container/folder-apple auf File Station verknüpft. Egal, ob der Container Dateien erstellt oder du Dateien in Container/folder-apple hochlädst, die Dateien sind auf beiden Plattformen sichtbar.