Co to jest montowanie Docker Bind?

Co to jest montowanie Docker Bind?

Podczas pracy nad projektem programistycznym w Docker, programiści zwykle chcą dokonywać modyfikacji w kodzie i zobaczyć zmiany natychmiastowe bez odbudowy kontenera. W tej sytuacji użyj mocowania wiązania, aby zamontować katalog kodu na lokalnym komputerze hosta w kontenerze. Po tym modyfikacje dokonane na hoście są natychmiast odzwierciedlone w pojemniku. Ponadto jest to przydatne, gdy pojemnik jest usuwany lub odrzucony, ponieważ dane nie są utracone.

Ten artykuł ilustruje:

    • Co to jest montowanie Docker Bind?
    • Jak działa montaż w Docker?

Co to jest montowanie Docker Bind?

Docker Bind Mount pozwala użytkownikom na mapowanie konkretnego pliku/katalogu na komputerze hosta na pliku/katalogu w kontenerze. W ten sposób użytkownicy mogą udostępniać dane między hostem a kontenerem, a także utrzymywać dane nawet po zatrzymaniu lub usunięciu kontenera. Wszelkie zmiany wprowadzone w plikach w udostępnionym katalogu lub pliku są widoczne zarówno z kontenera, jak i komputera hosta.

Jak działa montaż w Docker?

Weźmy przykład i zobaczmy, jak działa montaż wiązania w Docker. Załóżmy, że mamy pusty katalog „Test" zlokalizowany w "C: \ Docker„W systemie lokalnym. Teraz chcemy uzyskać dostęp do „Test„Treść katalogu w lokalizacji”/App”Z wnętrza konkretnego pojemnika. W tym przykładzie uruchom pojemnik z oficjalnego obrazu Dockera I.mi., "nginx”I wykorzystaj mocowanie wiązania, aby zamontować określony katalog z maszyny hosta do pojemnika.

Aby uzyskać lepsze zrozumienie, wykonaj podane kroki.

Krok 1: Powiązaj katalog montowania z komputera hosta do kontenera

Najpierw skorzystaj z „Docker Run -d -name -v: „Polecenie i uruchom pojemnik. Wiąże katalog montowania z maszyny hosta do pojemnika:

Docker Run -d --Name MyCont -v C:/Docker/Test:/App nginx: najnowszy


Tutaj:

    • "-D„Opcja służy do wykonywania kontenera w tle.
    • "-nazwa”Służy do zdefiniowania nazwy pojemnika.
    • "MyCont”To nasza nazwa kontenera.
    • "-v„Opcja tworzy wolumin w kontenerze, który mapuje katalog źródłowy na komputerze hosta do katalogu docelowego w kontenerze.
    • "C:/Docker/Test”Jest ścieżką katalogu źródłowego (maszyna lokalna).
    • "/App”Jest ścieżką katalogu docelowego (kontenera).
    • "Nginx: najnowszy”To najnowszy obraz Docker:



To polecenie utworzyło kontener i pozwolił mu uzyskać dostęp do plików z komputera hosta i ułatwianie zarządzania trwałością danych.

Krok 2: Utwórz plik w katalogu źródłowym na komputerze hosta

Następnie przejdź do ścieżki katalogu źródłowego I.mi., "C:/Docker/Test”Na komputerze hosta i utwórz w nim zwykły plik tekstowy. Na przykład stworzyliśmy „Próbny" plik:


Krok 3: Uzyskaj dostęp do pliku maszyny hosta wewnątrz kontenera

Teraz wpisz podwładne polecenie, aby uzyskać dostęp do zawartości kontenera i uruchom polecenia w nim:

Docker Exec -it MyCont Bash



Po tym, powłoka pojemnika otworzy się.

Następnie wymień zawartość kontenera za pomocą dostarczonego polecenia:

LS



Na powyższym zrzucie ekranu można zobaczyć całą zawartość pojemnika. Wybierz żądany katalog i przejdź do niego.

Przekierować do „App„Katalog:

Aplikacja CD


Następnie wymień „App„Treść katalogu w celu weryfikacji pliku maszyny lokalnej jest dostępna w nim:

LS



Można zauważyć, że „Próbny.tekst„Plik jest dostępny w pojemniku i możemy uzyskać do niego dostęp.

Krok 4: Utwórz plik wewnątrz kontenera

Następnie utwórz kolejny plik wewnątrz kontenera za pomocą „dotykać" Komenda:

dotknij nowego.tekst



Stworzyliśmy „nowy.tekst" plik.

Następnie zweryfikuj nowo utworzony plik za pomocą poniższego polecenia:

LS



Widać, że plik „nowy.tekst”Został z powodzeniem utworzony w pojemniku.

Krok 5: Sprawdź plik w systemie lokalnym

Na koniec przejdź do ścieżki maszyny lokalnej i sprawdź, czy „nowy.tekst„Plik jest dostępny lub nie:


Jak widać, „nowy.tekst„Plik jest dostępny na komputerze lokalnym i możemy uzyskać do niego dostęp. Wskazuje to, że modyfikacje są również odzwierciedlone na komputerze lokalnym.

Krok 6: Usuń kontener Docker

Teraz usuń pojemnik za pomocą „Docker RM”Polecenie wraz z nazwą kontenera:

Docker RM Mycont



„„MyCont„Pojemnik został pomyślnie usunięty.

Krok 7: Upewnij się, że dane utrzymane na komputerze lokalnym

Po usunięciu kontenera sprawdź, czy dane utrzymywały się na komputerze lokalnym, nie:


Jak widać, zmiany utrzymywały się nawet po usunięciu pojemnika do montażu.

Wniosek

Docker Bind Mount służy do mapowania katalogu lub pliku z systemu hosta do kontenera. Tworzy łącze między określonym katalogiem lub plikami na hoście a systemem plików kontenera. Ułatwia to i łatwe w radzeniu sobie lub pracy z plikami przechowywanymi poza kontenerem. Wszelkie zmiany wprowadzone w plikach w udostępnionym katalogu lub pliku zostaną odzwierciedlone zarówno w hosta, jak i kontenerze. W tym artykule wyjaśniono na temat Docker Bind Mount i jego pracy w Docker.