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/


Mejora el portapapeles de Gnome Shell con Pano

Mejora el portapapeles de Gnome Shell con Pano

Seamos realistas, el portapapeles predeterminado de Gnome Shell no es muy bueno. ¡Instala Pano para mejorar tu experiencia con el portapapeles!

Cómo instalar DaVinci Resolve 17 en Linux

Cómo instalar DaVinci Resolve 17 en Linux

¿Necesita un excelente editor de video no lineal para su caja de Linux? ¡Haz que Davinci Resolve 17 funcione con esta guía!

Cómo descargar fondos de pantalla al escritorio de Linux con Wallpaper Downloader

Cómo descargar fondos de pantalla al escritorio de Linux con Wallpaper Downloader

Wallpaper Downloader es un descargador y administrador de fondos de pantalla de Linux. Es compatible con la mayoría de los entornos de escritorio de Linux y es muy fácil de usar. esta guía

Cómo instalar Tuxedo OS en tu computadora

Cómo instalar Tuxedo OS en tu computadora

¿Quiere probar el sistema operativo Tuxedo de las computadoras Tuxedo? Aprenda cómo hacer que la última versión de Tuxedo OS funcione en su PC.

Cómo instalar un archivo DEB en Linux

Cómo instalar un archivo DEB en Linux

¿Qué es un archivo DEB? Qué haces con eso? Conozca las muchas formas en que puede instalar archivos DEB en su PC con Linux.

Cómo jugar Dying Light en Linux

Cómo jugar Dying Light en Linux

Dying Light es un videojuego de terror y supervivencia de 2015 desarrollado por Techland y publicado por Warner Bros Interactive Entertainment. El juego se centra en

Cómo instalar Neptune Linux en tu computadora

Cómo instalar Neptune Linux en tu computadora

Neptune utiliza el entorno de escritorio KDE Plasma 5 y tiene como objetivo ofrecer un sistema operativo elegante. Aquí se explica cómo instalar Neptune Linux en su computadora.

Pruebe el nuevo escritorio basado en Snap de Ubuntu

Pruebe el nuevo escritorio basado en Snap de Ubuntu

¿Quiere probar el nuevo sistema operativo de escritorio basado en paquetes instantáneos de Ubuntu? Aprenda a implementarlo en una máquina virtual con esta guía.

Cómo jugar Undertale en Linux

Cómo jugar Undertale en Linux

Undertale es un juego de rol independiente en 2D de 2015 desarrollado y publicado por el desarrollador de juegos Toby Fox. Esta guía cubrirá la descarga e instalación de Undertale en su

Cómo jugar Total War: THREE KINGDOMS en Linux

Cómo jugar Total War: THREE KINGDOMS en Linux

Total War: Three Kingdoms es un juego de estrategia en tiempo real por turnos desarrollado por Creative Assembly. Así es como se juega en Linux.