Sto cercando di costruire una soluzione di backup e ripristino per i container Docker con cui lavoriamo.
Ho un'immagine base Docker che ho creato, ubuntu:base
, e non voglio doverla ricostruire ogni volta con un file Docker per aggiungere file ad essa.
Voglio creare uno script che viene eseguito dalla macchina host e crea un nuovo contenitore utilizzando l'immagine Docker ubuntu:base
e poi copia i file in quel contenitore.
Come posso copiare i file dall'host al contenitore?
La soluzione è data qui sotto,
root@123abc:/root# <-- get the container ID
cp thefile.txt /var/lib/docker/devicemapper/mnt/123abc<bunch-o-hex>/rootfs/root
Il file deve essere copiato direttamente nella posizione in cui il contenitore si trova sul filesystem.
Copio semplicemente il file direttamente da dove si trova il contenitore dalla macchina host.
Per esempio:
Per prima cosa scoprite l'id del contenitore:
root@**3aed62678d54**:/home#
E poi dall'host, diciamo che il file è nella home directory:
root@saasdock:/home/dnepangue# cp cheering_nasa.gif /var/lib/docker/aufs/mnt/**3aed62678d54**a5df47a4a00a58bb0312009c2902f8a37498a1427052e8ac454b/home/
Torniamo al contenitore...
root@**3aed62678d54**:/home# ls cheering_nasa.gif