itstrue
Goto Top

Ordnerstruktur bzw. -ablage bei Docker mit Portainer

Hallo,

nachdem ich jetzt längere Zeit auf einem Raspi mit Docker experimentiert habe und meine Wunsch Container jetzt so eingerichtet habe, dass alles wie gewünscht läuft, möchte ich das ganze jetzt nochmal frisch und ordentlich aufsetzten.
Zur Verwaltung der Container nutze ich wenn möglich Portainer.

Bisher hab ich mich bei der Ordnerstruktur bzw. -ablage an die Vorgaben der compose files bzw. stacks gehalten. Gab natürlich schöne Unordnung. Alles kreut und quer verteilt.

Soll jetzt alle in einem Ordner mit Unterordnder pro Container landen.

Habt ihr Empfehlungen, auch was ein möglichst einfaches Backup der Docker Daten anbelangt?
Hart vercodete Pfade nehmen? Volumes anlegen?

In den diversen compose Dateien sind mir diverse Formen begegnet:
volumes:
- Adguard2:/opt/adguardhome/conf:rw
- Adguard1:/opt/adguardhome/work:rw
=> Ist klar

volumes:
- ./config:/config:rw
- /lib/modules:/lib/modules:rw

Wird zu
volumes:
- /data/compose/41/config:/config:rw
- /lib/modules:/lib/modules:rw
=> ./config wird also anscheinend in den Standardordner den Portainer wählt gespeicht.

und dann halt noch komplette Pfade aufs Filesystem

Was wäre denn eine gute Strategie bwzgl. Ordnung und Backups?

Danke für Tipps

Content-ID: 43721284400

Url: https://administrator.de/contentid/43721284400

Printed on: September 1, 2024 at 08:09 o'clock

viragomann
viragomann Aug 08, 2024 updated at 16:06:52 (UTC)
Goto Top
Hallo,

Composer verwende ich nicht, aber vermutlich macht das dasselbe wie die --volume (-v) Option in docker run.

docker run -d -v /srv/data/elastic_data:/usr/share/elasticsearch/data ...
mapped beispielsweise das Container-Verzeichnis /usr/share/elasticsearch/data in das Systemverzeichnis /srv/data/elastic_data.

Das macht generell Sinn mit Container-Verzeichnissen, in denen erhaltenswerte Daten generiert werden. Damit kannst du direkt vom OS auf die vom Container generiert oder veränderten Daten zugreifen.
Das ist einerseits fürs Backup interessant, aber vor allem auch, damit die Daten erhalten bleiben, wenn du den Container löscht. bspw. zwecks Update.

Nicht alle Container generieren erhaltenswerte Daten. Von jenen, die es aber tun, musst du rausfinden, in welches Verzeichnis sie diese schreiben. Dann kannst du es hin mappen, wo du sie haben möchtest und sie von da sichern. Je nach Container sollte dieser natürlich davor gestoppt werden.

Grüße
itstrue
itstrue Aug 15, 2024 at 08:43:05 (UTC)
Goto Top
Sorry für die verspätete Antwort.

Du schreibst genau das Gegenteil, was überall empfohlen wird. Nämlich Volumes zu verwenden.

Wenn ich Dich richtig verstanden habe, sprichst Du aber von Bind Mounts, direkte Pfade.

Kann ich nciht auch bei Volumes direkt auf die Dates zugreifen? Die werden doch alle in einem Standardordner angelegt, und wenn ich den kenne finde ich doch dort auch die Daten, oder?
viragomann
viragomann Aug 15, 2024 at 14:06:55 (UTC)
Goto Top
Das oben Zitterte war das, was ich dazu gefunden hatte, und es tut, was es soll. Möglicherweise waren die Infos nicht sehr aktuell.

Ja, Docker empfiehlt, eher Volumes zu verwenden und schreibt auch, dass diese einfacher zu sichern wären.
Da kann ich aber nichts dazu sagen. Das kenne ich nicht. Muss ich mir selbst erst ansehen und testen.

Es macht vielleicht einen Unterschied, ob man die Daten am Host haben möchte, nur um eine Container-Update zu überdauern und sie zu sichern, oder ob man sie auch nutzen möchte. Für meinen Zweck wäre ersteres zutreffend.

Grüße