Si vous avez besoin de copier des fichiers depuis un serveur hôte Docker vers un conteneur Docker, ce tutoriel est fait pour vous. Dans celui-ci, vous apprendrez à copier des fichiers de l’hôte Docker vers un conteneur Docker en utilisant différentes approches.
Prérequis :
- L’hôte docker doit être un serveur linux
- Docker doit être installé sur l’hôte
docker cp:
Pour copier un fichier depuis l’hôte ver un conteneur, nous allons utiliser la commande docker cp.
La syntaxe de la commande est:
docker cp [OPTIONS] CONTAINER:SRC_PATH DEST_PATH
Pour utiliser cette commande, nous allons avoir besoin de connaître l’ID du conteneur vers lequel nous souhaitons copier des fichiers.
Trouver l’ID d’un conteneur Docker:
Pour trouver l’ID d’un conteneur docker, nous allons utiliser la commande docker container ls.
Cette commande ne nécessite pas syntaxe particulière et nous retournera la liste des conteneurs actifs.
docker container ls
Voici un exemple d’utilisation de la commande :
On peut voir sur cette capture que docker nous retourne 2 conteneur et nous donne différentes informations :
- CONTAINER ID: l’ID du conteneur docker
- IMAGE: L’image utilisé pour déployer le conteneur
- COMMAND: La commande utilisé au lancement du conteneur
- CREATED: La date de création du conteneur
- STATUS: Le status du conteneur, et sont uptime.
- PORTS: Les ports mappé depuis le conteneur vers l’hôte docker.
Comme vous l’avez certainement deviné, nous allons récupérer l’ID d’un conteneur, par exemple : Portainer
Dans notre exemple, l’ID du conteneur Portainer est d9a19e7df710.
Copier un fichier depuis l’hôte vers un conteneur Docker:
Maintenant que nous avons l’ID de notre conteneur, il ne nous reste plus qu’à y copier notre fichier. Dans cet exemple je vais envoyer un fichier test.conf vers le chemin /etc/test.conf
Voici la commande que je vais utiliser :
docker cp FichierSource IDCONTENEUR:CHEMIN
Ce qui dans notre cas va donner :
docker cp test.conf d9a19e7df710:/etc
Si la commande ne retourne pas de message, c’est que la copie s’est bien effectuée.
Copier un fichier depuis un conteneur Docker vers l’hôte:
Nous avons vu comment copier depuis l’hôte vers le conteneur, sachez que pour faire l’inverse c’est très simple, il suffit d’inverser la source et la cible.
Voici la commande que je vais utiliser :
docker cp IDCONTENEUR:CHEMIN FichierSource
Ce qui dans notre cas va donner :
docker cp d9a19e7df710:/etc test.conf
Voilà, à présent, c’est à votre tour d’expérimenter docker cp.