Docker Container auf neue Festplatte umziehen

  • Grüße euch!

    Ich würde gerne meine Daten inklusive Docker Container auf eine neue Festplatte umziehen.


    Mein Setup:

    Auf dem Rasp ist auf der SD Karte OMV installiert und der Rest auf einer externen Festplatte mithilfe von Docker Containern durch Portainer.


    Da Diese aber eine einfache (portable) Festplatte ist, möchte ich mir, aufgrund der externen Stromversorgung und Sicherheit, zwei Festplatten (eine für Backup) in ein dafür passendes gehäuse packen.


    Meine Frage:

    Wie kann ich am besten meine ganzen Daten auf die neue Ferstplatte umziehen, sodass ich meine Docker Images weiterhin nutzen kann?

    Ich muss den Containern ja irgendiwie den neuen Speicherpfad mitteilen... Gibt es da eine Abkürzung?


    Falls jemand damit Erfahrung hat würde ich mich sehr über die Hilfe freuen! Ich hoffe ich habe mich einigermaßen verständlich ausgedrückt.

    Schönes Wochenende! :)

  • Go to Best Answer
    • Best Answer

    Du hast Docker und alles, was dazugehört, ja sicher in einem Verzeichnis, oder?


    Nun beende Docker und alles was dazu gehört, mounte die SSD/Festplatte nach /mnt (hat sie schon das ext4-Dateisystem? Wenn nicht, richte eine Partition ein, formatiere die Platte und mounte sie dann)

    Jetzt kannst du alles aus dem Docker-Verzeichnis auf die Platte kopieren, den kompletten Verzeichnisbaum mit allen Rechten.


    Du gehst in diesen Docker-Verzeichnisbaum und rufst dort, am besten nach einem "sudo su -" die folgende Zeile auf:

    Code
    tar cf - . | (cd /mnt; tar xvf -)

    Jetzt wird der komplette Verzeichnisbaum auf die unter /mnt gemountete SSD/Festplatte kopiert.

    Bist du damit fertig, benennst du den Verzeichnisbaum um und erstellst ein neues Verzeichnis mit dem gleichen Namen und Rechten wie sie das alte Dockerverzeichnis hatte.

    Du löst den Mount in /mnt und mountest den Datenträger in dieses neue Verzeichnis.

    Jetzt sollte Docker laufen wie vorher.


    Bevor du den PI neu startest, rufst du einmal "blkid" auf und machst einen neuen Eintrag in der /etc/fstab /als root)


    Es wird die UUDI, die du aus blkid für die Festplatte bekommen hast /die ist wohl das Gerät /dev/sda1) auf das Dockerverzeichnis gemountet.


    (Wenn das alle nicht funktionieren sollte, kannst du den Eintrag in der FSTAB mit einem führenden # auskommentieren und die beiden Verzeichnisse (Das Docker-Verzeichnis, in dem die Festpatte hängt und das, in dem die alten Daten sind, umbenennen.

    Funktioniert alles, kannst du das alte Dockerverzeichnis dann löschen)

    Selber denken,
    wie kann man nur?