Cómo transferir archivos a un contenedor Docker

A veces, es posible que necesite transferir archivos desde un contenedor Docker al sistema host para realizar copias de seguridad, etc. Esto se puede lograr fácilmente en Linux con la herramienta docker cp . Aquí se explica cómo usarlo.

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

Cómo transferir archivos desde un contenedor Docker al host usando Docker CP

Si necesita transferir archivos fuera de su contenedor Docker al sistema host, la forma más rápida y sencilla de hacerlo es con la herramienta Docker CP. Para comenzar, inicie sesión en su servidor a través de SSH o mediante un monitor físico con una interfaz de terminal .

Una vez que haya iniciado sesión, acceda a la cuenta raíz. Puede hacer esto de dos maneras. Ya sea con el comando su o el comando sudo -s .

su

O

sudo-s

Después de iniciar sesión, ejecute el comando docker ps . Ejecutar este comando mostrará todos los contenedores en ejecución. Busque el ID del contenedor desde el que planea transferir archivos. Luego, use el siguiente comando para iniciar sesión en el contenedor.

Nota: reemplace $id con su ID de contenedor.

docker exec -it $id /bin/bash

Ahora que ha iniciado sesión en su contenedor Docker con el comando exec docker anterior, deberá navegar por el contenedor y comprimir los archivos que desea transferir con Docker CP.

En este ejemplo, usaremos la carpeta "prueba" en el /root/directorio. Deberá modificar este comando para adaptarlo a sus necesidades.

tar -czvf mi-archivo.tar.gz /root/test/

Después de comprimir los archivos, salga del contenedor. Puede salir de la interfaz del terminal en su contenedor Docker utilizando el siguiente comando de salida .

salida

Finalmente, transfiera sus archivos desde el contenedor al sistema host.

docker cp CONTAINER_ID:/ruta/al/archivo.tar.gz /host/sistema/carpeta/

Transferir archivos sin comprimir

Si bien no se recomienda transferir archivos sin comprimirlos primero (por razones de seguridad), puede hacerlo. Si desea simplemente transferir un directorio que contiene algunos archivos, aquí le mostramos cómo hacerlo.

Primero, determine la ruta de la carpeta iniciando sesión en el contenedor. Puede iniciar sesión en el contenedor con los siguientes comandos.

su

docker exec -it $id /bin/bash

Después de determinar la ruta a la carpeta que desea transferir, salga del contenedor. Luego, ejecute el siguiente comando docker cp .

docker cp CONTAINER_ID:/ruta/a/su/carpeta/ /host/sistema/carpeta/

Cómo transferir archivos desde el host a un contenedor Docker usando Docker CP

Además de transferir archivos a través del contenedor Docker al host, es posible transferir archivos desde el host al contenedor. Para ello, busque la ubicación de los archivos que desea transferir a su contenedor docker.

Cuando haya localizado los archivos que desea transferir, use el siguiente comando para comprimirlos. Comprimir la carpeta facilita la transferencia.

tar -czvf mi-archivo.tar.gz /ruta/a/su/carpeta/

Después de comprimir su carpeta en un archivo Tar.GZ, deberá obtener la identificación del contenedor al que desea transferir los archivos. Primero, inicie sesión en la raíz usando su o sudo -s .

su

O

sudo-s

Después de iniciar sesión en la cuenta raíz, ejecute el comando docker ps . Este comando mostrará información sobre todos los contenedores en ejecución. Luego puede tomar esta información y usar el comando docker cp para transferir su archivo comprimido.

ventana acoplable pd

docker cp /ruta/a/mi-archivo.tar.gz CONTAINER_ID:/ruta/a/destino/

Transferir archivos sin comprimir

Si desea transferir a un contenedor sin comprimir nada, aquí le mostramos cómo hacerlo. Primero, inicie sesión en la raíz usando su o sudo -s . Una vez que haya iniciado sesión como raíz, busque la ruta de la carpeta que desea transferir.

Una vez que tenga la ruta de la carpeta, use el comando docker ps para obtener la ID del contenedor al que desea transferir archivos. Luego, use el siguiente comando docker cp para copiar los archivos a su sistema.

docker cp /ruta/a/mi/archivo/carpeta/ CONTAINER_ID:/ruta/a/destino/

Cómo transferir archivos desde un contenedor Docker desde el host con Rsync

El uso del comando docker cp debería ser suficiente para transferir archivos hacia y desde los hosts. Sin embargo, también es posible Rsync archivos desde un contenedor al host. Tenga en cuenta que debe tener un servidor SSH habilitado y ejecutándose en la máquina host.

Para comenzar, inicie sesión como root en su servidor host Linux a través de la terminal. Puede iniciar sesión en la cuenta raíz usando su o sudo -s . Después de iniciar sesión en la cuenta raíz, ejecute el comando docker ps .

su

O

sudo-s

ventana acoplable pd

Localice el ID del contenedor de Docker e inicie sesión con el siguiente comando. Luego, instale la herramienta Rsync usando el administrador de paquetes del contenedor. Asegúrese de reemplazar "$id" con la identificación del contenedor.

docker exec -it $id /bin/bash

Después de instalar Rsync usando el administrador de paquetes del contenedor, use el comando Rsync a continuación para sincronizar archivos desde el contenedor al host.

rsync -avz -e ssh /ruta/a/local/archivos/ usuario@remoto:/ruta/a/remoto/archivos/

Leave a Comment

Diagnóstico de MP3: soluciona hasta 50 problemas con archivos de audio MP3

Diagnóstico de MP3: soluciona hasta 50 problemas con archivos de audio MP3

MP3 Diags es la herramienta definitiva para solucionar problemas en tu colección de música. Etiqueta correctamente tus archivos MP3, añade carátulas de álbumes faltantes y corrige el VBR.

Aplicaciones de notificaciones de escritorio de Google Voice

Aplicaciones de notificaciones de escritorio de Google Voice

Al igual que Google Wave, Google Voice ha generado un gran revuelo en todo el mundo. Google busca cambiar la forma en que nos comunicamos y, dado que se está convirtiendo en...

Descarga Favoritos de Flickr con FlickrFaves

Descarga Favoritos de Flickr con FlickrFaves

Hay muchas herramientas que permiten a los usuarios de Flickr descargar sus fotos en alta calidad, pero ¿hay alguna forma de descargar Favoritos de Flickr? Recientemente, descubrimos...

OK Sampler es un software gratuito de sampleo de música

OK Sampler es un software gratuito de sampleo de música

¿Qué es el sampling? Según Wikipedia, «es el acto de tomar una porción, o muestra, de una grabación de sonido y reutilizarla como un instrumento o...

Copia de seguridad de Google Sites: Importar/Exportar

Copia de seguridad de Google Sites: Importar/Exportar

Google Sites es un servicio de Google que permite alojar un sitio web en su servidor. Sin embargo, existe un problema: no incluye una opción integrada para realizar copias de seguridad.

Aplicación de escritorio de Google Tasks

Aplicación de escritorio de Google Tasks

Google Tasks no es tan popular como otros servicios de Google como Calendar, Wave, Voice, etc., pero aún así se usa ampliamente y es una parte integral de la vida de las personas.

Cómo recuperar particiones y datos del disco duro perdidos [Guía]

Cómo recuperar particiones y datos del disco duro perdidos [Guía]

En nuestra guía anterior sobre cómo borrar de forma segura el disco duro y los medios extraíbles a través de Ubuntu Live y el CD de arranque DBAN, analizamos el problema del disco basado en Windows.

Cómo jugar Red Dead Online en Linux

Cómo jugar Red Dead Online en Linux

Red Dead Online es el componente multijugador en línea de Red Dead Redemption II. Aprende a jugar en Linux con esta guía completa.

Instalar paquetes Debian en Arch Linux con Debtap

Instalar paquetes Debian en Arch Linux con Debtap

¿Está tratando de hacer que una aplicación funcione en Arch Linux o Manjaro pero no puede encontrarla en los repositorios de software oficiales o incluso en AUR? Prueba Debtap. Se trata de un

Cómo acceder a una carpeta compartida de VMWare en Ubuntu

Cómo acceder a una carpeta compartida de VMWare en Ubuntu

¿Tiene una máquina virtual Ubuntu en VMware Workstation y desea compartir una carpeta con ella? Esta guía completa le mostrará cómo hacerlo eficazmente.