Comment transférer des fichiers vers un conteneur Docker

Parfois, vous devrez peut-être transférer des fichiers d'un conteneur Docker vers le système hôte à des fins de sauvegarde, etc. Cela peut être facilement accompli sous Linux avec l' outil docker cp . Voici comment l'utiliser.

xr:d:DAFds8YL9ik:2,j:43601822907,t:23032003

Comment transférer des fichiers d'un conteneur Docker vers l'hôte à l'aide de Docker CP

Si vous devez transférer des fichiers en dehors de votre conteneur Docker vers le système hôte, le moyen le plus rapide et le plus simple consiste à utiliser l'outil Docker CP. Pour commencer, connectez-vous à votre serveur via SSH ou via un moniteur physique avec une interface de terminal .

Une fois connecté, accédez au compte Root. Vous pouvez le faire de deux manières. Soit avec la commande su ou la commande sudo -s .

su

Ou

sudo-s

Après vous être connecté, exécutez la commande docker ps . L'exécution de cette commande affichera tous les conteneurs en cours d'exécution. Recherchez l'ID du conteneur à partir duquel vous prévoyez de transférer des fichiers. Ensuite, utilisez la commande suivante pour vous connecter au conteneur.

Remarque : remplacez $id par l'ID de votre conteneur.

docker exec -it $id /bin/bash

Maintenant que vous êtes connecté à votre conteneur Docker à l'aide de la commande docker exec ci-dessus, vous devez naviguer dans le conteneur et compresser les fichiers que vous souhaitez transférer à l'aide de Docker CP.

Dans cet exemple, nous utiliserons le dossier « test » du /root/répertoire. Vous devrez modifier cette commande en fonction de vos besoins.

tar -czvf mon-archive.tar.gz /root/test/

Après avoir compressé les fichiers, quittez le conteneur. Vous pouvez quitter l'interface du terminal dans votre conteneur Docker à l'aide de la commande exit suivante .

sortie

Enfin, transférez vos fichiers du conteneur vers le système hôte.

docker cp CONTAINER_ID :/chemin/vers/archive.tar.gz/hôte/système/dossier/

Transférer des fichiers sans compression

Bien qu'il ne soit pas recommandé de transférer des fichiers sans les compresser au préalable (pour des raisons de sécurité), vous le pouvez. Si vous souhaitez simplement transférer un répertoire contenant des fichiers, voici comment procéder.

Tout d'abord, déterminez le chemin du dossier en vous connectant au conteneur. Vous pouvez vous connecter au conteneur avec les commandes ci-dessous.

su

docker exec -it $id /bin/bash

Après avoir déterminé le chemin d'accès au dossier que vous souhaitez transférer, quittez le conteneur. Ensuite, exécutez la commande docker cp suivante .

docker cp CONTAINER_ID :/chemin/vers/votre/dossier//hôte/système/dossier/

Comment transférer des fichiers de l'hôte vers un conteneur Docker à l'aide de Docker CP

En plus de transférer des fichiers via le conteneur Docker vers l'hôte, il est possible de transférer des fichiers de l'hôte vers le conteneur. Pour cela, trouvez l'emplacement des fichiers que vous souhaitez transférer vers votre conteneur docker.

Lorsque vous avez localisé les fichiers que vous souhaitez transférer, utilisez la commande suivante pour les compresser. La compression du dossier facilite le transfert.

tar -czvf mon-archive.tar.gz /chemin/vers/votre/dossier/

Après avoir compressé votre dossier dans une archive Tar.GZ, vous devrez obtenir l'ID du conteneur vers lequel vous souhaitez transférer des fichiers. Tout d'abord, connectez-vous à root en utilisant su ou sudo -s .

su

Ou

sudo-s

Après vous être connecté au compte root, exécutez la commande docker ps . Cette commande affichera des informations sur tous les conteneurs en cours d'exécution. Vous pouvez ensuite prendre ces informations et utiliser la commande docker cp pour transférer votre archive compressée.

docker ps

docker cp /path/to/my-archive.tar.gz CONTAINER_ID:/path/to/destination/

Transférer des fichiers sans compression

Si vous souhaitez transférer dans un conteneur sans rien compresser, voici comment procéder. Tout d'abord, connectez-vous à root en utilisant su ou sudo -s . Après vous être connecté en tant que root, recherchez le chemin du dossier que vous souhaitez transférer.

Une fois que vous avez le chemin du dossier, utilisez la commande docker ps pour obtenir l'ID du conteneur vers lequel vous souhaitez transférer des fichiers. Ensuite, utilisez la commande docker cp suivante pour copier les fichiers sur votre système.

docker cp /chemin/vers/mon/fichier/dossier/ CONTAINER_ID:/chemin/vers/destination/

Comment transférer des fichiers d'un conteneur Docker depuis l'hôte avec Rsync

L'utilisation de la commande docker cp devrait être suffisante pour transférer des fichiers vers et depuis des hôtes. Cependant, il est également possible de synchroniser les fichiers d'un conteneur vers l'hôte. Gardez à l'esprit que vous devez avoir un serveur SSH activé et en cours d'exécution sur la machine hôte.

Pour commencer, connectez-vous en tant que root sur votre serveur Linux hôte via le terminal. Vous pouvez vous connecter au compte root en utilisant su ou sudo -s . Après vous être connecté au compte root, exécutez la commande docker ps .

su

Ou

sudo-s

docker ps

Localisez l'ID du conteneur Docker et connectez-vous à l'aide de la commande ci-dessous. Ensuite, installez l'outil Rsync à l'aide du gestionnaire de packages du conteneur. Assurez-vous de remplacer "$id" par l'ID du conteneur.

docker exec -it $id /bin/bash

Après avoir installé Rsync à l'aide du gestionnaire de packages du conteneur, utilisez la commande Rsync ci-dessous pour synchroniser les fichiers du conteneur vers l'hôte.

rsync -avz -e ssh /path/to/local/files/ user@remote:/path/to/remote/files/


Comment installer GitLab sur le serveur Ubuntu

Comment installer GitLab sur le serveur Ubuntu

Cherchez-vous à faire fonctionner GitLab sur votre serveur Ubuntu ? GitLab est une puissante alternative auto-hébergée aux services comme GitHub. Avec elle, vous pouvez

Sécuriser un serveur Ubuntu Linux avec SELinux

Sécuriser un serveur Ubuntu Linux avec SELinux

Découvrez comment ajouter une sécurité supplémentaire à votre serveur Ubuntu Linux en installant et en activant SELinux dessus.

Configurer NFS sur un serveur Linux avec Cockpit

Configurer NFS sur un serveur Linux avec Cockpit

Vous cherchez un moyen plus simple de monter des partages NFS sur votre serveur Linux ? Découvrez comment monter des partages NFS avec l'application Cockpit.

Comment mettre à niveau vers Ubuntu 22.04 LTS

Comment mettre à niveau vers Ubuntu 22.04 LTS

Le support à long terme d'Ubuntu 22.04 est là ! Découvrez comment mettre à niveau votre ordinateur de bureau ou portable vers la dernière version d'Ubuntu.

Comment installer les derniers pilotes GPU Nvidia sur Linux

Comment installer les derniers pilotes GPU Nvidia sur Linux

Comment installer les derniers pilotes GPU Nvidia sur Linux

Comment transférer des fichiers vers un conteneur Docker

Comment transférer des fichiers vers un conteneur Docker

Besoin de transférer des fichiers vers votre conteneur Docker ? Avec l'outil Docker cp, vous pouvez facilement déplacer des fichiers vers et depuis des conteneurs.

Comment installer un fichier DEB sous Linux

Comment installer un fichier DEB sous Linux

Qu'est-ce qu'un fichier DEB ? Qu'est ce que tu fais avec? Découvrez les nombreuses façons d'installer des fichiers DEB sur votre PC Linux.

Comment faire fonctionner GOG Galaxy sous Linux

Comment faire fonctionner GOG Galaxy sous Linux

Possédez-vous des jeux sur GOG.com ? Vous souhaitez configurer le client GOG Galaxy sur votre PC Linux pour profiter de certains jeux vidéo ? Suivez ce guide comme nous le montrons

Comment installer Docker Engine sur CentOS

Comment installer Docker Engine sur CentOS

Docker Engine est un programme de conteneurisation ouvert pour Linux et d'autres plates-formes. Docker Engine gère des conteneurs autonomes qui fonctionnent comme

Comment regrouper tous vos chats en un seul avec Ferdi

Comment regrouper tous vos chats en un seul avec Ferdi

Êtes-vous fatigué d'installer Slack, Discord et de nombreux autres outils de productivité sur votre système Linux ? Souhaitez-vous qu'ils puissent tous être combinés en un seul