Cum să transferați fișiere într-un container Docker

Uneori, poate fi necesar să transferați fișiere dintr-un container Docker în sistemul gazdă în scopuri de backup etc. Acest lucru poate fi realizat cu ușurință pe Linux cu instrumentul docker cp . Iată cum să-l folosești.

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

Cum să transferați fișiere dintr-un container Docker la gazdă folosind Docker CP

Dacă trebuie să transferați fișiere în afara containerului Docker către sistemul gazdă, cel mai rapid și mai ușor mod de a face acest lucru este cu instrumentul Docker CP. Pentru a începe, conectați-vă la server prin SSH sau printr-un monitor fizic cu o interfață de terminal .

După ce v-ați autentificat, accesați contul Root. Puteți face acest lucru în două moduri. Fie cu comanda su , fie cu comanda sudo -s .

su

Sau

sudo -s

După conectare, rulați comanda docker ps . Rularea acestei comenzi va afișa toate containerele care rulează. Căutați ID-ul containerului din care intenționați să transferați fișiere. Apoi, utilizați următoarea comandă pentru a vă conecta în container.

Notă: înlocuiți $id cu ID-ul containerului.

docker exec -it $id /bin/bash

Acum că v-ați conectat la containerul Docker folosind comanda docker exec de mai sus, va trebui să navigați în container și să comprimați fișierele pe care doriți să le transferați folosind Docker CP.

În acest exemplu, vom folosi folderul „test” din /root/director. Va trebui să modificați această comandă pentru a se potrivi nevoilor dvs.

tar -czvf my-archive.tar.gz /root/test/

După comprimarea fișierelor, ieșiți din container. Puteți ieși din interfața terminalului din containerul Docker utilizând următoarea comandă de ieșire .

Ieșire

În cele din urmă, transferați fișierele din container în sistemul gazdă.

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

Transferarea fișierelor fără compresie

Deși nu este recomandat să transferați fișiere fără a le comprima mai întâi (din motive de siguranță), puteți. Dacă doriți să transferați pur și simplu un director care conține unele fișiere, iată cum să o faceți.

Mai întâi, determinați calea folderului conectându-vă la container. Vă puteți conecta în container cu comenzile de mai jos.

su

docker exec -it $id /bin/bash

După ce ați determinat calea către folderul pe care doriți să-l transferați, ieșiți din container. Apoi, rulați următoarea comandă docker cp .

docker cp CONTAINER_ID:/calea/la/dosarul/dvs./ /gazdă/sistem/dosar/

Cum să transferați fișiere de la gazdă într-un container Docker folosind Docker CP

Pe lângă transferul fișierelor prin containerul Docker către gazdă, este posibil să transferați fișiere de la gazdă înapoi la container. În acesta, găsiți locația fișierelor pe care doriți să le transferați în containerul docker.

Când ați localizat fișierele pe care doriți să le transferați, utilizați următoarea comandă pentru a le comprima. Comprimarea folderului facilitează transferul.

tar -czvf my-archive.tar.gz /path/to/your/folder/

După comprimarea folderului într-o arhivă Tar.GZ, va trebui să obțineți ID-ul containerului în care doriți să transferați fișierele. Mai întâi, conectați-vă la root folosind su sau sudo -s .

su

Sau

sudo -s

După ce vă conectați la contul rădăcină, executați comanda docker ps . Această comandă va afișa informații despre toate containerele care rulează. Puteți apoi să luați aceste informații și să utilizați comanda docker cp pentru a vă transfera arhiva comprimată.

docker ps

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

Transferarea fișierelor fără compresie

Dacă doriți să transferați într-un container fără a comprima nimic, iată cum se face. Mai întâi, conectați-vă la root folosind su sau sudo -s . După ce v-ați conectat ca root, găsiți calea folderului pe care doriți să o transferați.

După ce obțineți calea folderului, utilizați comanda docker ps pentru a obține ID-ul containerului în care doriți să transferați fișierele. Apoi, utilizați următoarea comandă docker cp pentru a copia fișierele în sistemul dvs.

docker cp /cale/spre/my/fișier/dosar/CONTAINER_ID:/cale/spre/destinație/

Cum să transferați fișiere dintr-un container Docker de la gazdă cu Rsync

Utilizarea comenzii docker cp ar trebui să fie suficientă pentru a transfera fișiere către și de la gazde. Cu toate acestea, este, de asemenea, posibil să sincronizați fișierele dintr-un container către gazdă. Rețineți că trebuie să aveți un server SSH activat și care rulează pe mașina gazdă.

Pentru a începe, conectați-vă ca root pe serverul Linux gazdă prin terminal. Vă puteți conecta la contul root folosind su sau sudo -s . După ce vă conectați la contul rădăcină, executați comanda docker ps .

su

Sau

sudo -s

docker ps

Găsiți ID-ul containerului Docker și conectați-vă utilizând comanda de mai jos. Apoi, instalați instrumentul Rsync folosind managerul de pachete al containerului. Asigurați-vă că înlocuiți „$id” cu ID-ul containerului.

docker exec -it $id /bin/bash

După ce ați instalat Rsync folosind managerul de pachete al containerului, utilizați comanda Rsync de mai jos pentru a sincroniza fișierele din container cu gazdă.

rsync -avz -e ssh /cale/la/local/fișiere/ utilizator@la distanță:/cale/la/la distanță/fișiere/


Îmbunătățiți clipboardul Gnome Shell cu Pano

Îmbunătățiți clipboardul Gnome Shell cu Pano

Să recunoaștem, clipboardul implicit Gnome Shell nu este foarte bun. Instalați Pano pentru a vă îmbunătăți experiența în clipboard!

Cum se instalează DaVinci Resolve 17 pe Linux

Cum se instalează DaVinci Resolve 17 pe Linux

Ai nevoie de un editor video neliniar excelent pentru caseta ta Linux? Obțineți Davinci Resolve 17 lucrând cu acest ghid!

Cum să descărcați imagini de fundal pe desktopul Linux cu Wallpaper Downloader

Cum să descărcați imagini de fundal pe desktopul Linux cu Wallpaper Downloader

Wallpaper Downloader este un program de descărcare și manager de imagini de fundal Linux. Acceptă majoritatea mediilor desktop Linux și este foarte ușor de utilizat. Acest ghid

Cum se instalează Tuxedo OS pe computer

Cum se instalează Tuxedo OS pe computer

Doriți să testați computerele Tuxedo OS by Tuxedo? Aflați cum să obțineți cea mai recentă versiune a sistemului de operare Tuxedo care funcționează pe computer.

Cum se instalează un fișier DEB pe Linux

Cum se instalează un fișier DEB pe Linux

Ce este un fișier DEB? Ce faci cu asta? Aflați multe moduri prin care puteți instala fișiere DEB pe computerul dvs. Linux.

Cum să joci Dying Light pe Linux

Cum să joci Dying Light pe Linux

Dying Light este un joc video survival horror din 2015 dezvoltat de Techland și publicat de Warner Bros Interactive Entertainment. Jocul se concentrează pe

Cum se instalează Neptune Linux pe computer

Cum se instalează Neptune Linux pe computer

Neptune folosește mediul desktop KDE Plasma 5 și își propune să ofere un sistem de operare elegant. Iată cum să instalați Neptune Linux pe computer.

Încercați noul desktop bazat pe snap al Ubuntu

Încercați noul desktop bazat pe snap al Ubuntu

Doriți să încercați noul sistem de operare desktop bazat pe pachetul snap al Ubuntu? Aflați cum să o implementați pe o mașină virtuală cu acest ghid.

Cum să joci Undertale pe Linux

Cum să joci Undertale pe Linux

Undertale este un RPG indie 2d din 2015 dezvoltat și publicat de dezvoltatorul de jocuri Toby Fox. Acest ghid va acoperi descărcarea și instalarea Undertale pe dvs

Cum să joci Total War: THREE KINGDOMS pe Linux

Cum să joci Total War: THREE KINGDOMS pe Linux

Total War: Three Kingdoms este un joc RTS de strategie pe rând, dezvoltat de Creative Assembly. Iată cum să joci pe Linux.