Docker Copiar diversos fitxers

Docker Copiar Diversos Fitxers



Les operacions amb fitxers són l'operació més bàsica i, alhora, fonamental en informàtica. No hi ha dubte que Docker ha revolucionat la manera com creem, enviem i executem aplicacions proporcionant un mètode per incloure-les en unitats portàtils i autònomes.

Com podeu suposar, una de les tasques habituals quan es tracta de Docker és transferir fitxers entre la màquina amfitriona i un contenidor Docker.

En aquest tutorial, us mostrarem com copiar fitxers i directoris entre la màquina amfitriona i un contenidor Docker. Parlarem dels mètodes que funcionaran tant en contenidors en funcionament com en contenidors aturats.







Comandament Docker CP

La utilitat docker cp ens permet copiar els fitxers i directoris de la ruta d'origen especificada a la ruta de destinació.



La sintaxi de l'ordre és com es mostra:



docker cp [ OPCIONS ] CONTAINER:SRC_PATH DEST_PATH|-

docker cp [ OPCIONS ] SRC_PATH|- CONTAINER:DEST_PATH

L'ordre cp també us pot permetre transmetre un arxiu tar des d'entrada o sortida estàndard.





És bo tenir en compte que l'ordre suposa que els camins del contenidor són relatius al directori arrel del contenidor. Per tant, subministrar la barra inclinada inicial és opcional, ja que l'ordre l'adjuntarà per defecte.

Docker Run Basic Container

Amb finalitats de demostració, comencem executant el contenidor bàsic que farem servir per copiar fitxers i directoris.



Per a aquest tutorial, utilitzarem la imatge Busybox, que proporciona una imatge de Linux minimalista i lleugera que proporciona utilitats bàsiques d'Unix.

Executeu l'ordre tal com es mostra:

$ docker run -itd --rm busybox

Això hauria d'executar un nou contenidor Docker que utilitzi la imatge Busybox.

Copieu una carpeta de l'amfitrió al contenidor

La primera i més habitual operació entre un contenidor Docker i una màquina amfitrió és copiar un directori de la màquina amfitriona al contenidor.

Suposem que tenim un directori anomenat hello_world a la màquina amfitrió i volem copiar-lo en un contenidor en execució anomenat jovial_kalam. Podem utilitzar l'ordre docker cp tal com es mostra:

$ docker cp hello_world/ jovial_kalam:/home/busybox/hello_world

A l'exemple anterior, especifiquem el directori font a la màquina local com a hello_world. A continuació, especifiquem el nom o ID del contenidor de destinació al qual volem copiar el directori.

Finalment, especifiquem el camí de destinació dins del contenidor.

Copieu una carpeta del contenidor a l'amfitrió

Com podeu endevinar, també podem recuperar un directori d'un contenidor en execució i desar-lo a la màquina amfitrió mitjançant l'ordre que es mostra a continuació:

$ docker cp nom_contenidor:/camí/a/carpeta_origen//camí/a/destinació/

En aquest cas, l'ordre hauria de descarregar el directori especificat des del contenidor en execució a la màquina amfitriona.

Copia diversos fitxers

Per copiar diversos fitxers de la màquina host a un contenidor Docker, podem utilitzar un caràcter comodí com *, tal com es mostra a l'exemple següent:

docker cp * nom_contenidor:/camí/a/destinació/

Això hauria de copiar tots els fitxers del directori especificat a la màquina host.

Còpia d'un contenidor aturat

Docker ens permet copiar fitxers i directoris des d'un contenidor aturat. Per exemple, suposem que tenim un contenidor aturat anomenat lunar_zero i volem copiar-ne un directori. Podem executar l'ordre com es mostra:

$ docker cp lunar_zero:/path/to/source_folder/ /path/to/destination/

Substituïu l'entrada lunar_zero pel nom del contenidor des del qual voleu copiar el directori especificat.

Conclusió

En aquest tutorial, hem après a treballar amb la utilitat docker cp per copiar fitxers i directoris cap a i des d'un contenidor Docker. També vam explicar com podeu accedir al sistema de fitxers d'un contenidor amb l'ordre cp, tant si el contenidor està en execució com si s'ha aturat.