Copier un fichier local dans un conteneur
Dans cette étape, vous apprendrez à copier un fichier de votre système de fichiers local vers un conteneur Docker en cours d'exécution. Il s'agit d'une tâche courante lorsque vous devez ajouter des fichiers de configuration, des scripts ou d'autres données à un conteneur après son démarrage.
Commencez par créer un simple fichier texte sur votre machine locale dans le répertoire ~/project
.
echo "This is a test file." > ~/project/test_file.txt
Cette commande crée un fichier nommé test_file.txt
dans votre répertoire ~/project
et y écrit le texte "This is a test file.".
Ensuite, nous avons besoin d'un conteneur en cours d'exécution pour y copier le fichier. Nous utiliserons une image ubuntu
simple à cet effet. Comme l'image pourrait ne pas être présente localement, nous allons d'abord la télécharger.
docker pull ubuntu:latest
Cette commande télécharge la dernière version de l'image ubuntu
depuis Docker Hub.
Maintenant, lançons un conteneur basé sur l'image ubuntu
. Nous l'exécuterons en mode détaché (-d
) et lui donnerons un nom (my_ubuntu_container
) pour une identification facile.
docker run -d --name my_ubuntu_container ubuntu:latest sleep infinity
Cette commande démarre un nouveau conteneur nommé my_ubuntu_container
utilisant l'image ubuntu:latest
. La commande sleep infinity
maintient le conteneur en fonctionnement indéfiniment, ce qui est utile pour la démonstration.
Vous pouvez vérifier que le conteneur est en cours d'exécution avec la commande docker ps
.
docker ps
Vous devriez voir my_ubuntu_container
listé dans la sortie.
Maintenant, nous pouvons copier le fichier test_file.txt
de votre machine locale vers le conteneur en cours d'exécution en utilisant la commande docker cp
. La syntaxe est docker cp <chemin_local> <nom_conteneur>:<chemin_conteneur>
.
docker cp ~/project/test_file.txt my_ubuntu_container:/tmp/
Cette commande copie le fichier ~/project/test_file.txt
dans le répertoire /tmp/
à l'intérieur du conteneur my_ubuntu_container
.
Pour vérifier que le fichier a bien été copié, vous pouvez exécuter une commande à l'intérieur du conteneur avec docker exec
. Nous utiliserons ls
pour lister les fichiers dans le répertoire /tmp/
du conteneur.
docker exec my_ubuntu_container ls /tmp/
Vous devriez voir test_file.txt
listé dans la sortie, confirmant que le fichier a été copié avec succès.
Enfin, nettoyons le conteneur que nous avons créé.
docker stop my_ubuntu_container
docker rm my_ubuntu_container
Ces commandes arrêtent et suppriment le conteneur, respectivement.