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/

Dejar un comentario

Solucionar el problema de los controladores de la tarjeta de sonido no detectados en Pardus Linux 23

Solucionar el problema de los controladores de la tarjeta de sonido no detectados en Pardus Linux 23

Solucione el problema de la tarjeta de sonido que falta en Pardus Linux 23. Compruebe la detección de ALSA, los módulos del kernel, los servicios de audio, los perfiles de salida, el firmware y las actualizaciones de forma segura.

Solucionar el problema de resolución de pantalla atascada en 1024x768 en una máquina virtual Pardus KVM

Solucionar el problema de resolución de pantalla atascada en 1024x768 en una máquina virtual Pardus KVM

Solucione el problema de una máquina virtual Pardus KVM atascada en 1024x768 comprobando la GPU virtual, el agente SPICE, la sesión X11 o Wayland y verificando que los modos de visualización superiores sean correctos.

Cómo montar automáticamente un directorio SSHFS remoto al arrancar en Debian

Cómo montar automáticamente un directorio SSHFS remoto al arrancar en Debian

En Debian, se monta automáticamente un directorio SSHFS remoto al arrancar el sistema utilizando SSH basado en claves, /etc/fstab, opciones de red de systemd, automontaje y pasos de verificación.

Solucionar el error "No se puede asignar memoria" durante una actualización del sistema SLES

Solucionar el error "No se puede asignar memoria" durante una actualización del sistema SLES

Solucione el problema "No se puede asignar memoria" durante una actualización de SLES. Compruebe la RAM, el espacio de intercambio, los registros de OOM y los límites de procesos, y luego recupere el sistema sin interrumpir las transacciones de paquetes.

Solucionar problemas de calibración de la pantalla táctil en tabletas con Harmonica OS: Elegir la solución adecuada para Linux

Solucionar problemas de calibración de la pantalla táctil en tabletas con Harmonica OS: Elegir la solución adecuada para Linux

Solucione problemas de desplazamiento táctil, rotación y mapeo de pantalla en tabletas Harmonica OS (HamoniKR). Compare las soluciones de X.Org y libinput, realice pruebas de forma segura y sepa cuándo la calibración no será suficiente.

Cómo configurar una partición SWAP cifrada en una instalación existente de Debian 12.

Cómo configurar una partición SWAP cifrada en una instalación existente de Debian 12.

Encripta una partición de intercambio existente de Debian 12 con dm-crypt, una clave aleatoria nueva en cada arranque, /etc/crypttab, /etc/fstab y pasos de verificación seguros.

Cómo monitorizar el estado de la unidad SMART en Ubuntu mediante alertas por correo electrónico

Cómo monitorizar el estado de la unidad SMART en Ubuntu mediante alertas por correo electrónico

Instala smartmontools en Ubuntu para monitorizar el estado de las unidades y enviar alertas SMART por correo electrónico. Comprueba la compatibilidad de los dispositivos, configura la entrega de correo, prueba las notificaciones y soluciona los fallos.

Solucionar el error "No se encontró ningún dispositivo de arranque" después de instalar Debian en un sistema UEFI.

Solucionar el error "No se encontró ningún dispositivo de arranque" después de instalar Debian en un sistema UEFI.

Solucione los fallos de arranque UEFI de Debian comprobando el modo de arranque del instalador, la partición del sistema EFI, las entradas NVRAM, los archivos GRUB EFI, el arranque seguro y las alternativas de firmware.

Cómo configurar instantáneas Btrfs automatizadas en Ubuntu Desktop

Cómo configurar instantáneas Btrfs automatizadas en Ubuntu Desktop

Configura Snapper para crear y eliminar instantáneas Btrfs programadas en Ubuntu Desktop. Primero, verifica la estructura de tus subvolúmenes, habilita los temporizadores de systemd y comprueba la retención de forma segura.

Solucione de forma segura el problema de falta de espacio en el aprovisionamiento ligero LVM de SUSE Linux Enterprise.

Solucione de forma segura el problema de falta de espacio en el aprovisionamiento ligero LVM de SUSE Linux Enterprise.

Diagnosticar y recuperar un pool LVM thin completo en SUSE Linux Enterprise distinguiendo el agotamiento de datos del agotamiento de metadatos, ampliando el almacenamiento, reparando los metadatos y habilitando la extensión automática.