Przewodnik krok po kroku dotyczący kopiowania lub przenoszenia kontenerów Docker między hostami

Notatki kluczowe

  • Zrozum proces zapisywania i przesyłania obrazów kontenerów Docker.
  • Efektywny eksport i import woluminów Docker.
  • W przypadku bardziej złożonych wdrożeń warto rozważyć wykorzystanie Docker Compose.

Odkrywanie sekretów przenoszenia kontenerów Docker

W dynamicznym świecie rozwoju oprogramowania kontenery Docker służą jako wydajne pakiety, umożliwiając deweloperom bezproblemowe wdrażanie aplikacji w różnych środowiskach. W miarę rozwoju projektów możliwość transferu lub replikacji tych kontenerów staje się kluczowa dla optymalizacji wykorzystania zasobów i wydajności operacyjnej. Ten przewodnik zagłębia się w proces krok po kroku kopiowania i przenoszenia kontenerów Docker i ich powiązanych woluminów z jednego hosta Linux na inny.

Zapisz obraz kontenera na hoście źródłowym

Krok 1: Wyświetl listę dostępnych kontenerów Docker

Zacznij od wypisania dostępnych kontenerów Docker działających w Twoim systemie. Zidentyfikuj kontener, który chcesz wyeksportować, na przykład instancję Nginx:

Krok 2: Zatrzymaj żądany kontener

Zatrzymaj wybrany kontener przed jego eksportem, aby uniknąć uszkodzenia danych:

Krok 3: Zatwierdź bieżący stan kontenera w obrazie

Zachowaj stan swojego kontenera, zatwierdzając go w nowym obrazie Docker, aby zachować wszystkie modyfikacje i dane w stanie nienaruszonym:

Porada: Użyj tej docker commit -p=false CONTAINER_NAME new_image_name opcji, aby uniknąć wstrzymywania kontenera, chociaż zwiększa to ryzyko niespójności danych.

Krok 4: Zapisz obraz Dockera w archiwum Tar

Przed przeniesieniem nowego obrazu Dockera mycontainerimage.tar na host docelowy zapisz go w pliku archiwum (np.):

Eksportuj wolumin Docker z kontenera

Krok 5: Zainstaluj Git i pobierz skrypt eksportu woluminu

Aby obsłużyć eksport woluminów, najpierw upewnij się, że Git jest zainstalowany, a następnie pobierz skrypt eksportu woluminów:

Krok 6: Zmień uprawnienia skryptu i uruchom eksport

Ustaw prawidłowe bity uprawnień dla skryptu i uruchom go, aby wyodrębnić skojarzone woluminy dla swojego kontenera:

Krok 7: Przenieś pliki woluminu na maszynę zdalną

Wyślij nowo zarchiwizowane pliki woluminów, korzystając z preferowanej metody, np scp., do hosta docelowego:

Załaduj obraz kontenera na hoście docelowym

Krok 8: Załaduj obraz Dockera do Docker Daemon

Zaloguj się do zdalnego hosta, a następnie uruchom polecenie, aby załadować obraz Dockera do demona Dockera:

Krok 9: Utwórz kontener, korzystając z załadowanego obrazu

Użyj tej opcji docker create, aby zainicjować nowy kontener, określając wszelkie niezbędne flagi uruchomienia:

Krok 10: Uruchom importowany kontener

Sprawdź, czy zaimportowany obraz działa prawidłowo, uruchamiając: docker start CONTAINER_NAME.

Importuj wolumin Docker do swojego kontenera

Krok 11: Pobierz i skonfiguruj skrypt importu woluminu

Pobierz ten sam skrypt pomocniczy woluminu Docker na nowym hoście i ustaw odpowiednie uprawnienia:

Krok 12: Załaduj wolumin z archiwum Tar

Uruchom skrypt importu woluminów z .tar plikiem, aby przywrócić woluminy w nowym kontenerze:

Krok 13: Przetestuj dane dotyczące objętości wewnątrz kontenera

Sprawdź, czy kontener prawidłowo ładuje dane, sprawdzając jego konfigurację wewnętrzną:

Przenieś swój obraz bez pliku

Krok 14: Użyj SSH do bezpośredniego przesyłania obrazu

Zamiast tworzyć plik tar, możesz bezpośrednio przesłać obraz za pomocą tego polecenia poprzez protokół SSH:

Krok 15: Uruchom nowy kontener

Po poprawnym przesłaniu i zainicjowaniu uruchom, docker start CONTAINER_NAME aby sprawdzić, czy wszystko działa:

Wykorzystaj Docker Compose do pełnej migracji wdrożenia Docker

Krok 16: Potwierdź dostępność wtyczki Docker Compose

Upewnij się, że w Twoim środowisku włączona jest opcja Docker Compose:

Krok 17: Utwórz konfigurację Docker Compose

Utwórz katalog w swojej macierzystej lokalizacji, w którym będziesz przechowywać plik Docker Compose i skompiluj docker-compose.yml plik dla swojej aplikacji:

Krok 18: Uruchom aplikację za pomocą Docker Compose

Uruchom Docker Compose, aby wdrożyć aplikację zgodnie ze specyfikacją w pliku konfiguracyjnym i przetestować jej funkcjonalność:

Dodatkowe wskazówki

  • Zawsze sprawdzaj integralność obrazów i woluminów Docker po transferze.
  • Udokumentuj konfigurację sieci Docker, aby zapewnić płynne przejścia między hostami.
  • Rozważ użycie Docker Swarm lub Kubernetes w celu zautomatyzowania wdrażania aplikacji.

Streszczenie

Transfer kontenerów Docker i powiązanych z nimi danych między hostami Linux obejmuje wykorzystanie poleceń do zapisywania obrazów, eksportowania woluminów i zapewnienia prawidłowej rekonfiguracji na hoście docelowym. Postępując zgodnie z tymi krokami, możesz skutecznie zarządzać ekosystemem kontenerów w różnych systemach, zachowując jednocześnie funkcjonalność i spójność.

Wniosek

Opanowanie procesu przenoszenia kontenerów Docker nie tylko rozszerza Twój zestaw narzędzi technicznych, ale także ulepsza Twoje strategie wdrażania w różnych środowiskach. Przyjmij te praktyki, kontynuując eksplorację nieograniczonych możliwości konteneryzacji.

FAQ (najczęściej zadawane pytania)

Czy mogę skopiować działający kontener Docker?

Tak, ale najlepiej najpierw zatrzymać kontener, aby uniknąć komplikacji. Użyj polecenia docker commit, aby zapisać jego stan.

Co zrobić, jeśli mój kontener Docker ma duży rozmiar?

Aby zaoszczędzić miejsce i czas, rozważ przesłanie danych bez tworzenia pliku za pomocą metody SSH.