Come trasferire i file in un contenitore Docker

A volte potrebbe essere necessario trasferire file da un contenitore Docker al sistema host per scopi di backup, ecc. Questo può essere facilmente realizzato su Linux con lo strumento docker cp . Ecco come usarlo.

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

Come trasferire file da un contenitore Docker all'host utilizzando Docker CP

Se devi trasferire file al di fuori del tuo contenitore Docker sul sistema host, il modo più semplice e veloce per farlo è con lo strumento Docker CP. Per iniziare, accedi al tuo server tramite SSH o tramite un monitor fisico con un'interfaccia terminale .

Una volta effettuato l'accesso, accedi all'account Root. Puoi farlo in due modi. O con il comando su o il comando sudo -s .

su

O

sudo -s

Dopo aver effettuato l'accesso, eseguire il comando docker ps . L'esecuzione di questo comando mostrerà tutti i contenitori in esecuzione. Cerca l'ID del contenitore da cui intendi trasferire i file. Quindi, utilizza il seguente comando per accedere al contenitore.

Nota: sostituisci $id con il tuo ID contenitore.

docker exec -it $id /bin/bash

Ora che hai effettuato l'accesso al tuo contenitore Docker utilizzando il comando docker exec sopra, dovrai navigare nel contenitore e comprimere i file che desideri trasferire utilizzando Docker CP.

In questo esempio, utilizzeremo la cartella "test" nella /root/directory. Dovrai modificare questo comando in base alle tue esigenze.

tar -czvf mio-archivio.tar.gz /root/test/

Dopo aver compresso i file, esci dal contenitore. Puoi uscire dall'interfaccia del terminale nel tuo container Docker usando il seguente comando exit .

Uscita

Infine, trasferisci i tuoi file dal contenitore al sistema host.

docker cp CONTAINER_ID:/path/to/archive.tar.gz /host/system/folder/

Trasferimento di file senza compressione

Sebbene non sia consigliabile trasferire i file senza prima comprimerli (per motivi di sicurezza), puoi farlo. Se desideri semplicemente trasferire una directory contenente alcuni file, ecco come farlo.

Innanzitutto, determina il percorso della cartella accedendo al contenitore. Puoi accedere al contenitore con i comandi seguenti.

su

docker exec -it $id /bin/bash

Dopo aver determinato il percorso della cartella che desideri trasferire, esci dal contenitore. Quindi, esegui il seguente comando docker cp .

docker cp CONTAINER_ID:/path/to/your/folder/ /host/system/folder/

Come trasferire file dall'host a un contenitore Docker utilizzando Docker CP

Oltre a trasferire i file tramite il contenitore Docker all'host, è possibile trasferire nuovamente i file dall'host al contenitore. Ad esso, trova la posizione dei file che desideri trasferire nel tuo contenitore docker.

Quando hai individuato i file che desideri trasferire, usa il seguente comando per comprimerli. La compressione della cartella facilita il trasferimento.

tar -czvf mio-archivio.tar.gz /percorso/della/tua/cartella/

Dopo aver compresso la tua cartella in un archivio Tar.GZ, dovrai ottenere l'ID del contenitore in cui desideri trasferire i file. Innanzitutto, accedi a root usando su o sudo -s .

su

O

sudo -s

Dopo aver effettuato l'accesso all'account root, eseguire il comando docker ps . Questo comando mostrerà informazioni su tutti i contenitori in esecuzione. Puoi quindi prendere queste informazioni e utilizzare il comando docker cp per trasferire il tuo archivio compresso.

docker ps

docker cp /path/to/my-archive.tar.gz CONTAINER_ID:/path/to/destination/

Trasferimento di file senza compressione

Se desideri trasferire in un contenitore senza comprimere nulla, ecco come farlo. Innanzitutto, accedi a root usando su o sudo -s . Dopo aver effettuato l'accesso come root, trova il percorso della cartella che desideri trasferire.

Una volta ottenuto il percorso della cartella, utilizzare il comando docker ps per ottenere l'ID contenitore del contenitore in cui si desidera trasferire i file. Quindi, utilizzare il seguente comando docker cp per copiare i file nel sistema.

docker cp /percorso/del/mio/file/cartella/ CONTAINER_ID:/percorso/della/destinazione/

Come trasferire file da un contenitore Docker dall'host con Rsync

L'uso del comando docker cp dovrebbe essere sufficiente per trasferire i file da e verso gli host. Tuttavia, è anche possibile sincronizzare i file da un contenitore all'host. Tieni presente che devi avere un server SSH abilitato e in esecuzione sulla macchina host.

Per iniziare, accedi come root sul tuo server Linux host tramite il terminale. Puoi accedere all'account root usando su o sudo -s . Dopo aver effettuato l'accesso all'account root, eseguire il comando docker ps .

su

O

sudo -s

docker ps

Individua l'ID del contenitore Docker e accedi utilizzando il comando seguente. Quindi, installa lo strumento Rsync utilizzando il gestore pacchetti del contenitore. Assicurati di sostituire "$id" con l'ID contenitore.

docker exec -it $id /bin/bash

Dopo aver installato Rsync utilizzando il gestore pacchetti del contenitore, utilizza il comando Rsync di seguito per sincronizzare i file dal contenitore all'host.

rsync -avz -e ssh /path/to/local/files/ utente@remote:/path/to/remote/files/


Migliora gli appunti di Gnome Shell con Pano

Migliora gli appunti di Gnome Shell con Pano

Ammettiamolo, gli appunti predefiniti di Gnome Shell non sono molto buoni. Installa Pano per migliorare la tua esperienza con gli appunti!

Come installare DaVinci Resolve 17 su Linux

Come installare DaVinci Resolve 17 su Linux

Hai bisogno di un ottimo editor video non lineare per la tua macchina Linux? Fai funzionare Davinci Resolve 17 con questa guida!

Come scaricare sfondi sul desktop Linux con Wallpaper Downloader

Come scaricare sfondi sul desktop Linux con Wallpaper Downloader

Wallpaper Downloader è un ottimo downloader e gestore di sfondi per Linux. Supporta la maggior parte degli ambienti desktop Linux ed è molto facile da usare. Questa guida

Come installare Tuxedo OS sul tuo computer

Come installare Tuxedo OS sul tuo computer

Vuoi testare il sistema operativo Tuxedo sui computer Tuxedo? Scopri come far funzionare l'ultima versione di Tuxedo OS sul tuo PC.

Come installare un file DEB su Linux

Come installare un file DEB su Linux

.DEB numero opzione 1 Cosa ci fai? Scopri i molti modi in cui puoi installare i file DEB sul tuo PC Linux.

Come giocare a Dying Light su Linux

Come giocare a Dying Light su Linux

Dying Light è un videogioco survival horror del 2015 sviluppato da Techland e pubblicato da Warner Bros Interactive Entertainment. Il gioco è incentrato su

Come installare Neptune Linux sul tuo computer

Come installare Neptune Linux sul tuo computer

Neptune utilizza l'ambiente desktop KDE Plasma 5 e mira a fornire un sistema operativo elegante. Ecco come installare Neptune Linux sul tuo computer.

Prova il nuovo desktop basato su snap di Ubuntu

Prova il nuovo desktop basato su snap di Ubuntu

Vuoi provare il nuovo sistema operativo desktop basato su pacchetto snap di Ubuntu? Scopri come distribuirlo su una macchina virtuale con questa guida.

Come giocare a Undertale su Linux

Come giocare a Undertale su Linux

Undertale è un gioco di ruolo indipendente in 2D del 2015 sviluppato e pubblicato dallo sviluppatore di giochi Toby Fox. Questa guida coprirà il download e l'installazione di Undertale sul tuo

Come giocare a Total War: THREE KINGDOMS su Linux

Come giocare a Total War: THREE KINGDOMS su Linux

Total War: Three Kingdoms è un gioco RTS di strategia a turni sviluppato da Creative Assembly. Ecco come giocare su Linux.