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/

Laisser un commentaire

Résoudre les problèmes de déchirure d'écran sur les cartes graphiques Intel sous Pardus Linux : un guide pratique

Résoudre les problèmes de déchirure d'écran sur les cartes graphiques Intel sous Pardus Linux : un guide pratique

Corrigez les déchirures d'écran des cartes graphiques Intel sous Pardus Linux en vérifiant X11 vs Wayland, les paramètres du compositeur, le taux de rafraîchissement, le pilote Xorg actif et TearFree uniquement lorsque cela est approprié.

Comment configurer le pare-feu SLES 15 avec firewall-cmd

Comment configurer le pare-feu SLES 15 avec firewall-cmd

Configurer firewalld sur SLES 15 : vérifier les zones, autoriser les services ou les ports, enregistrer les règles permanentes, recharger en toute sécurité et vérifier l’accès.

Guide de configuration de la mise à jour en direct de SLES : Appliquer les mises à jour du noyau sans redémarrer

Guide de configuration de la mise à jour en direct de SLES : Appliquer les mises à jour du noyau sans redémarrer

Activez la mise à jour en direct du noyau sur SLES 15 SP7, appliquez les correctifs pris en charge sans redémarrer, vérifiez les correctifs actifs et comprenez quand un redémarrage du noyau est encore nécessaire.

Comment activer le mode FIPS sur SUSE Linux Enterprise Server 15

Comment activer le mode FIPS sur SUSE Linux Enterprise Server 15

Activez le mode FIPS sur SLES 15 avec l'utilitaire de configuration pris en charge par SUSE, redémarrez en toute sécurité, vérifiez l'état du noyau et de la politique de chiffrement, et vérifiez les limites de certification.

Comment installer Google Chrome sur Gooroom OS sans enfreindre les règles de sécurité

Comment installer Google Chrome sur Gooroom OS sans enfreindre les règles de sécurité

Installez Google Chrome sur Gooroom OS en toute sécurité grâce aux paquets .deb officiels, à APT, aux vérifications de politique, aux conseils de mise à jour et aux correctifs pour les appareils gérés.

Comment exporter en toute sécurité les journaux système SLES vers un serveur Syslog distant

Comment exporter en toute sécurité les journaux système SLES vers un serveur Syslog distant

Transférez en toute sécurité les journaux système SLES vers un serveur syslog distant grâce à rsyslog, aux certificats TLS, à la vérification du nom du pair, aux files d'attente, à la validation et aux tests.

Intégration de SLES 15 Active Directory avec SSSD : Guide étape par étape

Intégration de SLES 15 Active Directory avec SSSD : Guide étape par étape

Intégrez SLES 15 à Active Directory avec SSSD à l'aide de YaST. Configurez le DNS et l'heure, configurez les connexions au domaine, vérifiez Kerberos et comparez SSSD, Winbind et realmd.

Résolution des problèmes liés au pilote Wi-Fi Realtek RTL8821CE sous Pardus Linux

Résolution des problèmes liés au pilote Wi-Fi Realtek RTL8821CE sous Pardus Linux

Résolvez les problèmes de Wi-Fi RTL8821CE sur Pardus Linux en vérifiant le pilote rtw88 intégré, le firmware Realtek, rfkill, NetworkManager et les options de repli sécurisées.

Résolution de l'erreur « Échec temporaire de la résolution DNS » sous Debian 12 avec systemd-resolved

Résolution de l'erreur « Échec temporaire de la résolution DNS » sous Debian 12 avec systemd-resolved

Diagnostiquer et corriger les échecs de résolution DNS de Debian 12 avec systemd-resolved, y compris resolv.conf, NetworkManager, networkd, cache et vérification.

Comment installer Pardus Linux en dual boot avec Windows 11 en toute sécurité

Comment installer Pardus Linux en dual boot avec Windows 11 en toute sécurité

Installez Pardus 25.2 à côté de Windows 11 en sauvegardant, en réduisant le volume Windows, en démarrant sur une clé USB UEFI et en protégeant les partitions EFI et de récupération existantes.