- Mitglied seit
- 12. Apr 2016
- Beiträge
- 1.478
- Punkte für Reaktionen
- 362
- Punkte
- 103
Wer von euch kennt nicht das Problem, dass eigentlich zusammengehörige Daten auf unterschiedlichen Volumes verstreut sind?
Von Haus aus bietet die DS keine Möglichkeit diese Verzeichnisse dieser Volumes als einen Share anzuzeigen.
Ich habe mir dazu einige unionfs Docker Images angesehen und alle hatte eine Macke: immer wurde der Fuse-Mount nicht sauber entfernt und der Container konnte nicht neu gestartet werden ohne händisch den "hängengebliebenen" Mount auf der DS zu entfernen.
Das hat mich so genervt, dass ich gestern Nacht ein Image gebastelt habe, dass das Problem nicht mehr hat:
https://cloud.docker.com/u/meyay/repository/docker/meyay/unionfs-mount
In der Beschreibung findet ihr ein Beispiel für den Start mit 'docker run' und für docker-compose, wobei ich raten würde letzteres einzusetzen, da man dann im Aufgabenplaner eine Aufgabe anlegen kann, die beim Hochfahren den Container mit einem "Benutzerdefinierten Skript" mitstartet.
Benutzerdefinierten Skript:
Wenn ihr das unionfs im Share exportieren wollt, dann legt über die Systemsteuerung einen Share an, erzeugt ein Unterverzeichnis und verwendet dieses als Hostpfad für /unionfs. Zumindest mit den Windows-CIFS-Shares kann man dann auch von entfernten Rechnern den Inhalt sehen, aus dem Share lesen und reinschreiben.
Von Haus aus bietet die DS keine Möglichkeit diese Verzeichnisse dieser Volumes als einen Share anzuzeigen.
Ich habe mir dazu einige unionfs Docker Images angesehen und alle hatte eine Macke: immer wurde der Fuse-Mount nicht sauber entfernt und der Container konnte nicht neu gestartet werden ohne händisch den "hängengebliebenen" Mount auf der DS zu entfernen.
Das hat mich so genervt, dass ich gestern Nacht ein Image gebastelt habe, dass das Problem nicht mehr hat:
https://cloud.docker.com/u/meyay/repository/docker/meyay/unionfs-mount
In der Beschreibung findet ihr ein Beispiel für den Start mit 'docker run' und für docker-compose, wobei ich raten würde letzteres einzusetzen, da man dann im Aufgabenplaner eine Aufgabe anlegen kann, die beim Hochfahren den Container mit einem "Benutzerdefinierten Skript" mitstartet.
Benutzerdefinierten Skript:
Code:
# aktivieren der Shared-Eigenschaft des DS-Volumes, Hostpfad für das /unionfs Binding in der docker-compose.yml
mount --make-shared /volume1/
# Wechseln in das Verzeichnis, in dem die docker-compose.yml liegt.
cd /${volume}/docker/unionfs-mount/
# Starten des UnionFS Containers
docker-compose up -d
Wenn ihr das unionfs im Share exportieren wollt, dann legt über die Systemsteuerung einen Share an, erzeugt ein Unterverzeichnis und verwendet dieses als Hostpfad für /unionfs. Zumindest mit den Windows-CIFS-Shares kann man dann auch von entfernten Rechnern den Inhalt sehen, aus dem Share lesen und reinschreiben.