Jak przenieść pliki do kontenera Docker

Czasami może być konieczne przesłanie plików z kontenera Dockera do systemu hosta w celu wykonania kopii zapasowej itp. Można to łatwo wykonać w systemie Linux za pomocą narzędzia docker cp . Oto jak go używać.

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

Jak przesyłać pliki z kontenera Dockera do hosta za pomocą Docker CP

Jeśli musisz przenieść pliki poza kontener Docker do systemu hosta, najszybszym i najłatwiejszym sposobem na to jest użycie narzędzia Docker CP. Aby rozpocząć, zaloguj się do swojego serwera przez SSH lub fizyczny monitor z interfejsem terminala .

Po zalogowaniu uzyskaj dostęp do konta root. Możesz to zrobić na dwa sposoby. Albo za pomocą polecenia su , albo polecenia sudo -s .

su

Lub

sudo -s

Po zalogowaniu uruchom komendę docker ps . Uruchomienie tego polecenia spowoduje wyświetlenie wszystkich uruchomionych kontenerów. Wyszukaj identyfikator kontenera, z którego planujesz przenieść pliki. Następnie użyj następującego polecenia, aby zalogować się do kontenera.

Uwaga: zastąp $id swoim identyfikatorem kontenera.

docker exec -it $id /bin/bash

Teraz, gdy zalogowałeś się do swojego kontenera Docker za pomocą powyższego polecenia docker exec , musisz nawigować po kontenerze i skompresować pliki, które chcesz przenieść za pomocą Docker CP.

W tym przykładzie użyjemy folderu „test” w /root/katalogu. Będziesz musiał zmodyfikować to polecenie, aby dostosować je do swoich potrzeb.

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

Po skompresowaniu plików wyjdź z kontenera. Możesz wyjść z interfejsu terminala w kontenerze Dockera, używając następującego polecenia wyjścia .

Wyjście

Na koniec przenieś pliki z kontenera do systemu hosta.

docker cp CONTAINER_ID:/ścieżka/do/archive.tar.gz /host/system/folder/

Przesyłanie plików bez kompresji

Chociaż nie zaleca się przesyłania plików bez ich uprzedniej kompresji (ze względów bezpieczeństwa), można to zrobić. Jeśli chcesz po prostu przenieść katalog zawierający niektóre pliki, oto jak to zrobić.

Najpierw określ ścieżkę do folderu logując się do kontenera. Możesz zalogować się do kontenera za pomocą poniższych poleceń.

su

docker exec -it $id /bin/bash

Po określeniu ścieżki do folderu, który chcesz przenieść, wyjdź z kontenera. Następnie uruchom następujące polecenie docker cp .

docker cp CONTAINER_ID:/ścieżka/do/twojego/folderu//host/system/folder/

Jak przenieść pliki z hosta do kontenera Docker za pomocą Docker CP

Oprócz przesyłania plików przez kontener Docker do hosta, możliwe jest przesyłanie plików z hosta z powrotem do kontenera. W tym celu znajdź lokalizację plików, które chcesz przenieść do kontenera dokera.

Po zlokalizowaniu plików, które chcesz przenieść, użyj następującego polecenia, aby je skompresować. Kompresja folderu ułatwia przesyłanie.

tar -czvf my-archive.tar.gz /ścieżka/do/twojego/folderu/

Po skompresowaniu folderu do archiwum Tar.GZ musisz uzyskać identyfikator kontenera, do którego chcesz przenieść pliki. Najpierw zaloguj się do roota za pomocą su lub sudo -s .

su

Lub

sudo -s

Po zalogowaniu się na konto root uruchom komendę docker ps . To polecenie wyświetli informacje o wszystkich uruchomionych kontenerach. Następnie możesz wziąć te informacje i użyć polecenia docker cp , aby przesłać skompresowane archiwum.

doker ps

docker cp /ścieżka/do/my-archive.tar.gz CONTAINER_ID:/ścieżka/do/miejsca docelowego/

Przesyłanie plików bez kompresji

Jeśli chcesz przenieść do kontenera bez kompresji czegokolwiek, oto jak to zrobić. Najpierw zaloguj się do roota za pomocą su lub sudo -s . Po zalogowaniu się jako root znajdź ścieżkę do folderu, który chcesz przenieść.

Po uzyskaniu ścieżki do folderu użyj polecenia docker ps , aby uzyskać identyfikator kontenera, do którego chcesz przenieść pliki. Następnie użyj następującego polecenia docker cp , aby skopiować pliki do systemu.

docker cp /ścieżka/do/mojego/pliku/folderu/ID_POJEMNIKA:/ścieżka/do/miejsca docelowego/

Jak przenieść pliki z kontenera Docker z hosta za pomocą Rsync

Użycie polecenia docker cp powinno wystarczyć do przesyłania plików do iz hostów. Jednak możliwe jest również synchronizowanie plików z kontenera do hosta. Pamiętaj, że musisz mieć włączony i uruchomiony serwer SSH na komputerze hosta.

Aby rozpocząć, zaloguj się jako root na serwerze hosta Linux za pośrednictwem terminala. Możesz zalogować się na konto root za pomocą su lub sudo -s . Po zalogowaniu się na konto root uruchom komendę docker ps .

su

Lub

sudo -s

doker ps

Znajdź identyfikator kontenera platformy Docker i zaloguj się za pomocą poniższego polecenia. Następnie zainstaluj narzędzie Rsync za pomocą menedżera pakietów kontenera. Pamiętaj, aby zastąpić „$id” identyfikatorem kontenera.

docker exec -it $id /bin/bash

Po zainstalowaniu Rsync za pomocą menedżera pakietów kontenera użyj poniższego polecenia Rsync, aby zsynchronizować pliki z kontenera do hosta.

rsync -avz -e ssh /ścieżka/do/lokalnych/plików/użytkownik@zdalny:/ścieżka/do/zdalnego/plików/


Ulepsz schowek Gnome Shell za pomocą Pano

Ulepsz schowek Gnome Shell za pomocą Pano

Spójrzmy prawdzie w oczy, domyślny schowek Gnome Shell nie jest zbyt dobry. Zainstaluj Pano, aby ulepszyć korzystanie ze schowka!

Jak zainstalować DaVinci Resolve 17 w systemie Linux

Jak zainstalować DaVinci Resolve 17 w systemie Linux

Czy potrzebujesz świetnego nieliniowego edytora wideo dla swojego systemu Linux? Spraw, aby Davinci Resolve 17 działał z tym przewodnikiem!

Jak pobrać tapety na pulpit systemu Linux za pomocą programu do pobierania tapet

Jak pobrać tapety na pulpit systemu Linux za pomocą programu do pobierania tapet

Wallpaper Downloader to zręczny program do pobierania i zarządzania tapetami dla systemu Linux. Obsługuje większość środowisk graficznych Linux i jest bardzo łatwy w użyciu. Ten przewodnik

Jak zainstalować Tuxedo OS na swoim komputerze

Jak zainstalować Tuxedo OS na swoim komputerze

Chcesz przetestować Tuxedo OS na komputerach Tuxedo? Dowiedz się, jak zainstalować najnowszą wersję Tuxedo OS na swoim komputerze.

Jak zainstalować plik DEB w systemie Linux

Jak zainstalować plik DEB w systemie Linux

Czym jest plik DEB? Co ty z tym robisz? Poznaj wiele sposobów instalowania plików DEB na komputerze z systemem Linux.

Jak grać w Dying Light w systemie Linux

Jak grać w Dying Light w systemie Linux

Dying Light to gra wideo typu survival horror z 2015 roku opracowana przez Techland i wydana przez Warner Bros Interactive Entertainment. Gra koncentruje się na

Jak zainstalować Neptune Linux na swoim komputerze

Jak zainstalować Neptune Linux na swoim komputerze

Neptune używa środowiska graficznego KDE Plasma 5 i ma na celu dostarczenie eleganckiego systemu operacyjnego. Oto jak zainstalować Neptune Linux na swoim komputerze.

Wypróbuj nowy pulpit Ubuntu oparty na przystawkach

Wypróbuj nowy pulpit Ubuntu oparty na przystawkach

Chcesz wypróbować nowy system operacyjny Ubuntu oparty na pakietach Snap? Dowiedz się, jak wdrożyć go na maszynie wirtualnej, korzystając z tego przewodnika.

Jak grać w Undertale w systemie Linux

Jak grać w Undertale w systemie Linux

Undertale to niezależna gra RPG z 2015 roku, opracowana i opublikowana przez twórcę gier Toby'ego Foxa. Ten przewodnik obejmie pobieranie i instalowanie Undertale na twoim komputerze

Jak grać w Total War: THREE KINGDOMS w systemie Linux

Jak grać w Total War: THREE KINGDOMS w systemie Linux

Total War: Three Kingdoms to turowa gra strategiczna RTS opracowana przez Creative Assembly. Oto jak grać w systemie Linux.