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
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
Please also mark the comments that contributed to the solution of the article
Content-ID: 43721284400
Url: https://administrator.de/contentid/43721284400
Printed on: September 1, 2024 at 08:09 o'clock
3 Comments
Latest comment
Hallo,
Composer verwende ich nicht, aber vermutlich macht das dasselbe wie die --volume (-v) Option in docker run.
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
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 ...
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
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
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