[docker] : copier un fichier de votre host vers un container avec tar

Print Friendly, PDF & Email

Docker est quand même très pratique. Les commandes sont pensées avec simplicité.  Là par exemple nous allons voir comment très simplement passer un fichier où le contenu d’un tar directement du serveur qui porte docker vers le conteneur.

En fait c’est ultra simple :

docker cp /chemin/source +nom_conteneur+:/conteneur/chemin/

C’est donc comme si on passait un bon vieux cp c’est fou ça ?

Et l’inverse est vrai :

docker cp :/conteneur/chemin/ /chemin/source

Alors avec un tar comment faire ?

tar -cv * | docker exec -i +conteneur+ tar x -C /var/www>

Donc :

  • tar -cv : on créé une archive en mode verbose
  • on exécute un tar dans le conteneur
  • on extrait l’archive (x)

Et vous, comment faites vous pour faire ce genre de copie de fichier ?

Découvrez  [Docker] : Swarm - lister les services et les nodes en 1 ligne

1 réflexion sur « [docker] : copier un fichier de votre host vers un container avec tar »

  1. GG

    Bonjour Xavki,
    tout d’abord bravo pour tes vidéos extrêmement bien faites.
    J’ai déjà utilisé le « docker cp » qui fonctionne parfaitement.

    Je m’interroge sur une utilisation plus poussée.
    Je lance un conteneur « docker run ….. –name mycontener imagecontener »
    Mais mon conteneur a besoin d’un fichier de licence à son lacement.
    Du coup, je l’arrête « docker stop », je fais une copie du fichier de licence dans le conteneur « docker cp… » et je redémarre le conteneur « docker start »

    Existe-t-il un moyen de faire tout ceci en une seule ligne de commande?
    sans passer par un docker-compose !!!

    Merci

Laisser un commentaire