Docker Container volumen auf einer andere Festplatte schieben?

2 Antworten

Auch wenn nicht explizit ein Docker Volume angegeben hast, wurde automatisch ein unnamed/anonymous Volume von Docker angelegt. Der Name vom Volume wird eine lange ID sein.

Auch wenn du dein Nextcloud Container löschen würdest, bleiben die Daten im Volume erhalten. Inwiefern diese Volume bei erstellen eines neuen Nextcloud Containers erstellt wird, kann ich dir nicht sagen.

Beim Erstellen eines neuen Docker Volumes ist es möglich, den lokalen Pfad beim Volume anzugeben. Hier ist ein Artikel dazu.

Du könntest auch ein symbolischen Link nutzen, um den tatsächlichen Datei Ordner zum erwarten Pfad von Docker linkt.

Als letzte Option könntest du auch direkt ein lokalen Ordner als Volume in dein Container mounten.

Um den Speicherort auf deinem lokalen Dateisystem zu erhalten, kannst du docker inspect auf deinem Nextcloud Container aufrufen. Gegenenfalls musst du noch ein docker volume inspect auf deinem Volume (die ID bekommst du vom vorherigen inspect) aufrufen und erhälst dann den Ordner von deinen Nextcloud Daten.

Die Daten könnte unter /var/lib/docker/volumes/[Volume ID]/_data liegen.

Da du anscheined etwas weniger Erfahrung hast, würde ich direkt ein Ordner mounten und die Docker Volumes überspringen.

Zum Vorgehen:

Nextcloud Container stoppen.

cp -a /var/lib/docker/volumes/[Volume ID]/_data /d/nextcloud
docker run -d -p 88:80 -v /d/nextcloud:/var/www/html nextcloud

In dem /d/nextcloud Ordner sollen dann alle relevanten Datein für Nextcloud inkl. der Cloud Daten sein.

Weitere Dokumentation findest du auch hier.


Written5423 
Fragesteller
 03.01.2023, 22:37

Okay , ich werde es probieren

0
Written5423 
Fragesteller
 04.01.2023, 20:53

Leider hat dies nicht funktioniert.

0

Die Dateien liegen ja in einem Ordner, der in den Docker Container weiter gereicht wird.

Wenn du also den Ordner verschiebst und den neuen Ort in den Container weiter reichst, dann ist das leicht zu machen. Dafür musst du halt den Ordner ausfindig machen. Den schreibt man normalerweise in sein docker-compose file.

/d/ ist aber ein komischer Ordner Name 🤣


Written5423 
Fragesteller
 03.01.2023, 20:42

Mein Problem ist halt dass ich dafür keine composer file angelegt habe...

0
julihan41  03.01.2023, 20:46
@Written5423

Aber du hast doch dafür ein Volume erstellt, oder? Sonst sind alle Daten weg, wenn du den Container beendest 😅

Hier steht alles zu Storage in Docker:

https://docs.docker.com/storage/

Alternativ kannst du innerhalb vom Nextcloud die Dateien exportieren und in einer neuen Instanz importieren.

0
Written5423 
Fragesteller
 03.01.2023, 20:56
@julihan41

Naja..

ich hab zuerst das Image Nextcloud geholt:

docker pull nextcloud 

dannach

docker run -dit -p 88:80 nextcloud

und schwub die Cloud ist erreichbar und auch bei neustarts oder herunterfahrens des Containers sind die Daten da

0
julihan41  03.01.2023, 21:00
@Written5423

Mein Kommentar beinhaltet eigentlich alles, was du brauchst. Dort steht, wo die Daten liegen, und als alternative kannst du das innerhalb von Nextcloud exportieren und importieren.

Daneben hilft dir Vmtl der Befehl mv.

0