Bestanden overbrengen naar een Docker-container

Soms moet u bestanden van een Docker- container naar het hostsysteem overbrengen voor back-updoeleinden, enz. Dit kan eenvoudig worden bereikt op Linux met de docker cp- tool. Hier is hoe het te gebruiken.

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

Bestanden overbrengen van een Docker-container naar de host met behulp van Docker CP

Als u bestanden buiten uw Docker-container naar het hostsysteem moet overbrengen, is de snelste en gemakkelijkste manier om dit te doen met de Docker CP-tool. Log om te beginnen in op uw server via SSH of via een fysieke monitor met een terminalinterface .

Nadat u bent ingelogd, gaat u naar het root-account. U kunt dit op twee manieren doen. Ofwel met de opdracht su of de opdracht sudo -s .

zo

Of

sudo -s

Voer na het inloggen de opdracht docker ps uit . Als u deze opdracht uitvoert, worden alle actieve containers weergegeven. Zoek naar de ID van de container waaruit u bestanden wilt overzetten. Gebruik vervolgens de volgende opdracht om u aan te melden bij de container.

Opmerking: vervang $id door uw container-ID.

docker exec -it $id /bin/bash

Nu u bent ingelogd op uw Docker-container met de opdracht docker exec hierboven, moet u door de container navigeren en de bestanden comprimeren die u wilt overbrengen met behulp van Docker CP.

In dit voorbeeld gebruiken we de map "test" in de /root/map. U moet deze opdracht aanpassen aan uw behoeften.

tar -czvf mijn-archief.tar.gz /root/test/

Na het comprimeren van de bestanden verlaat u de container. U kunt de terminalinterface in uw Docker-container afsluiten met de volgende exit- opdracht.

Uitgang

Breng ten slotte uw bestanden over van de container naar het hostsysteem.

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

Bestanden overzetten zonder compressie

Hoewel het niet wordt aanbevolen om bestanden over te zetten zonder ze eerst te comprimeren (voor de veiligheid), is dat wel mogelijk. Als je gewoon een map wilt overzetten die enkele bestanden bevat, kun je dit als volgt doen.

Bepaal eerst het pad van de map door in te loggen op de container. U kunt met onderstaande commando's inloggen op de container.

zo

docker exec -it $id /bin/bash

Na het bepalen van het pad naar de map die u wilt overbrengen, verlaat u de container. Voer vervolgens de volgende docker cp -opdracht uit.

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

Bestanden overbrengen van de host naar een Docker-container met behulp van Docker CP

Naast het overzetten van bestanden via de Docker-container naar de host, is het mogelijk om bestanden van de host terug te zetten naar de container. Zoek de locatie van de bestanden die u naar uw docker-container wilt overbrengen.

Wanneer u de bestanden hebt gevonden die u wilt overzetten, gebruikt u de volgende opdracht om ze te comprimeren. Door de map te comprimeren, wordt de overdracht gemakkelijker.

tar -czvf mijn-archief.tar.gz /path/to/your/folder/

Nadat je je map hebt gecomprimeerd tot een Tar.GZ-archief, moet je de ID krijgen van de container waarnaar je bestanden wilt overbrengen. Log eerst in op root met su of sudo -s .

zo

Of

sudo -s

Nadat u zich hebt aangemeld bij het root-account, voert u de opdracht docker ps uit. Deze opdracht toont informatie over alle actieve containers. U kunt deze informatie vervolgens gebruiken en de opdracht docker cp gebruiken om uw gecomprimeerde archief over te dragen.

havenarbeider ps

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

Bestanden overzetten zonder compressie

Als u naar een container wilt overbrengen zonder iets te comprimeren, kunt u dit als volgt doen. Log eerst in op root met su of sudo -s . Nadat je bent ingelogd als root, zoek je het mappad op dat je wilt overzetten.

Zodra u het mappad hebt, gebruikt u de opdracht docker ps om de container-ID op te halen van de container waarnaar u bestanden wilt overbrengen. Gebruik vervolgens de volgende docker cp -opdracht om de bestanden naar uw systeem te kopiëren.

docker cp /pad/naar/mijn/bestand/map/ CONTAINER_ID:/pad/naar/bestemming/

Bestanden overzetten van een Docker-container van de host met Rsync

Het gebruik van de opdracht docker cp zou voldoende moeten zijn om bestanden van en naar hosts over te brengen. Het is echter ook mogelijk om bestanden van een container naar de host te Rsync. Houd er rekening mee dat u een SSH-server moet hebben ingeschakeld en op de hostcomputer moet draaien.

Meld u om te beginnen aan als root op uw Linux-hostserver via de terminal. U kunt inloggen op het root-account met behulp van su of sudo -s . Nadat u zich hebt aangemeld bij het root-account, voert u de opdracht docker ps uit.

zo

Of

sudo -s

havenarbeider ps

Zoek de Docker-container-ID en log in met de onderstaande opdracht. Installeer vervolgens de Rsync-tool met behulp van de pakketbeheerder van de container. Zorg ervoor dat u "$id" vervangt door de container-ID.

docker exec -it $id /bin/bash

Nadat u Rsync hebt geïnstalleerd met behulp van de pakketbeheerder van de container, gebruikt u de onderstaande Rsync-opdracht om bestanden van de container naar de host te synchroniseren.

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


Verbeter het Gnome Shell-klembord met Pano

Verbeter het Gnome Shell-klembord met Pano

Laten we eerlijk zijn, het standaard Gnome Shell-klembord is niet erg goed. Installeer Pano om uw klembordervaring te verbeteren!

Hoe DaVinci Resolve 17 op Linux te installeren

Hoe DaVinci Resolve 17 op Linux te installeren

Heb je een geweldige niet-lineaire video-editor nodig voor je Linux-box? Laat Davinci Resolve 17 werken met deze gids!

Achtergronden downloaden naar het Linux-bureaublad met Wallpaper Downloader

Achtergronden downloaden naar het Linux-bureaublad met Wallpaper Downloader

Wallpaper Downloader is een gelikte Linux wallpaper-downloader en -manager. Het ondersteunt de meeste Linux-desktopomgevingen en is zeer eenvoudig te gebruiken. Deze gids

Hoe Tuxedo OS op uw computer te installeren

Hoe Tuxedo OS op uw computer te installeren

Wilt u Tuxedo OS testen door Tuxedo-computers? Leer hoe u de nieuwste versie van Tuxedo OS op uw pc kunt laten werken.

Hoe een DEB-bestand op Linux te installeren

Hoe een DEB-bestand op Linux te installeren

Wat is een DEB-bestand? Wat doe je ermee? Leer de vele manieren waarop u DEB-bestanden op uw Linux-pc kunt installeren.

Hoe Dying Light op Linux te spelen

Hoe Dying Light op Linux te spelen

Dying Light is een survival-horror-videogame uit 2015, ontwikkeld door Techland en uitgegeven door Warner Bros Interactive Entertainment. Het spel draait om

Hoe Neptune Linux op uw computer te installeren

Hoe Neptune Linux op uw computer te installeren

Neptune gebruikt de KDE Plasma 5-desktopomgeving en streeft ernaar een elegant besturingssysteem te leveren. Hier leest u hoe u Neptune Linux op uw computer installeert.

Probeer Ubuntus nieuwe op snap gebaseerde desktop uit

Probeer Ubuntus nieuwe op snap gebaseerde desktop uit

Wilt u Ubuntu's nieuwe op snap-pakketten gebaseerde desktopbesturingssysteem uitproberen? Leer hoe u het op een virtuele machine implementeert met deze handleiding.

Hoe Undertale op Linux te spelen

Hoe Undertale op Linux te spelen

Undertale is een 2D indie-RPG uit 2015, ontwikkeld en uitgegeven door game-ontwikkelaar Toby Fox. Deze gids behandelt het downloaden en installeren van Undertale op uw

Hoe speel je Total War: THREE KINGDOMS op Linux

Hoe speel je Total War: THREE KINGDOMS op Linux

Total War: Three Kingdoms is een turn-based strategie-RTS-game ontwikkeld door Creative Assembly. Hier leest u hoe u op Linux kunt spelen.