J'essaie d'élaborer une solution de sauvegarde et de restauration pour les conteneurs Docker avec lesquels nous travaillons.
J'ai une image de base Docker que j'ai créée, ubuntu:base
, et je ne veux pas avoir à la reconstruire à chaque fois avec un fichier Docker pour y ajouter des fichiers.
Je veux créer un script qui s'exécute depuis la machine hôte et crée un nouveau conteneur en utilisant l'image Docker ubuntu:base
, puis copie les fichiers dans ce conteneur.
Comment puis-je copier des fichiers de l'hôte vers le conteneur ?
La solution est donnée ci-dessous,
root@123abc:/root# <-- get the container ID
cp thefile.txt /var/lib/docker/devicemapper/mnt/123abc<bunch-o-hex>/rootfs/root
Le fichier est directement copié à l'emplacement où se trouve le conteneur sur le système de fichiers.
Je copie simplement le fichier directement depuis l'endroit où se trouve le conteneur depuis la machine hôte.
Par exemple :
D'abord trouver l'identifiant du conteneur :
root@**3aed62678d54**:/home#
Ensuite, à partir de l'hôte, disons que le fichier est dans le répertoire personnel :
root@saasdock:/home/dnepangue# cp cheering_nasa.gif /var/lib/docker/aufs/mnt/**3aed62678d54**a5df47a4a00a58bb0312009c2902f8a37498a1427052e8ac454b/home/
Retour au conteneur...
root@**3aed62678d54**:/home# ls cheering_nasa.gif