Docker Container volumen auf einer andere Festplatte schieben?
Also..... Ich habe mir mit Docker eine Nextcloud auf meinem Dedi. Linux Server erstellt. Nun hab ich mir eine neue SSD einbauen lassen und wollte nun das Volume von Nextcloud verschieben habe aber ehrlich gesagt keine Ahnung wie ich das anstellen soll. Das Volume soll auf /d/Nextcloud/ Verschoben werden.
Docker Nextcloud wurde so erstellt:
docker run Nextcloud 89:80
Ach und ich glaube dies sollte ich auch noch erwähnen:
(Es ist keine Festplatten Verschlüsselung aktiv)
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.
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 🤣
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.
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
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.
Mein Problem ist halt dass ich dafür keine composer file angelegt habe...