Copier un fichier
Depuis l’hôte
Pour copier juste un fichier du container docker vers la machine hôte :
$ docker cp mon_container:/chemin/du/fichier/dans/le/container/fichier.txt /chemin/du/répertoire/sur/la/machine/hote
La même commande fonctionne aussi dans l’autre sens :
$ docker cp fichier.txt mon_container:/chemin/du/fichier/dans/le/container/fichier.txt
Il faut noter que ça fonctionne aussi pour des répertoires.
Depuis le container
On a parfois besoin de rentrer dans le container pour explorer des résultats, et on ne sait pas à l’avance ce qu’on va vouloir récupérer. On peut alors faire un point de montage à condition que le container contienne un VOLUME (ce qui est probablement le cas s’il contient des données). Il faut procéder de la façon suivante :
$ mkdir save
$ docker run --rm -it --volumes-from mon_container -v $(pwd)/save:/mnt/host ubuntu
# ...
# cp some_files /mnt/host/
# ...
# exit
On retrouve alors les fichiers copiés dans le répertoire save/
.
Sauvegarde
Si le container contient un VOLUME, et qu’on souhaite le sauvegarder, on peut faire :
$ docker run --rm --volumes-from <mon container> -v $(pwd):/backup \
ubuntu tar zcvf /backup/backup.tar.gz <repertoire du volume dans le container>
C’est particulièrement utile pour ne pas perdre les données d’un container que l’on souhaite détruire (docker rm
).
Pour injecter cette sauvegarde dans un autre container :
$ docker run --rm --volumes-from <un autre container> -v $(pwd):/backup \
ubuntu tar zxvf /backup/backup.tar.gz
Voir aussi :
- Afficher un pourcentage dans une page HTML
- VNC : Virtual Network Computing
- Git : déménagement d'un dépôt
- Quelques liens au sujet de l'analyse statique
- Ocaml: mon principal langage de développement
- Disque dur externe
- Les profiles dans Firefox
- Cryptographie et mail sous Android
- Quelques liens au sujet du C
- Git rebase : pour diviser un commit