Ich versuche, eine Sicherungs- und Wiederherstellungslösung für die Docker-Container zu entwickeln, mit denen wir arbeiten.
Ich habe ein Docker-Basis-Image, das ich erstellt habe, "ubuntu:base", und möchte es nicht jedes Mal mit einer Docker-Datei neu erstellen müssen, um Dateien hinzuzufügen.
Ich möchte ein Skript erstellen, das auf dem Host-Rechner läuft und einen neuen Container mit dem Docker-Image "ubuntu:base" erstellt und dann Dateien in diesen Container kopiert.
Wie kann ich Dateien vom Hostrechner in den Container kopieren?
Die folgende Methode ist ziemlich hässlich, aber sie funktioniert.
docker run -i ubuntu /bin/bash -c 'cat > file' < file
Die Lösung ist unten angegeben,
root@123abc:/root# <-- get the container ID
cp thefile.txt /var/lib/docker/devicemapper/mnt/123abc<bunch-o-hex>/rootfs/root
*Die Datei soll direkt an den Ort kopiert werden, an dem sich der Container im Dateisystem befindet.
Ich kopiere die Datei einfach direkt von dem Ort, an dem sich der Container auf dem Host-Rechner befindet.
Zum Beispiel:
Finden Sie zunächst die Container-ID heraus:
root@**3aed62678d54**:/home#
Und dann vom Host, sagen wir mal, die Datei ist im Home-Verzeichnis:
root@saasdock:/home/dnepangue# cp cheering_nasa.gif /var/lib/docker/aufs/mnt/**3aed62678d54**a5df47a4a00a58bb0312009c2902f8a37498a1427052e8ac454b/home/
Zurück zum Container...
root@**3aed62678d54**:/home# ls cheering_nasa.gif