Was ist Docker Bind Mounts?

Was Ist Docker Bind Mounts



Während der Arbeit an einem Entwicklungsprojekt in Docker möchten Entwickler normalerweise Änderungen am Code vornehmen und die Änderungen sofort sehen, ohne den Container neu zu erstellen. Verwenden Sie in dieser Situation einen Bind-Mount, um das Codeverzeichnis auf ihrem lokalen Hostcomputer in den Container einzuhängen. Dabei werden die auf dem Host vorgenommenen Änderungen sofort im Container widergespiegelt. Außerdem ist es nützlich, wenn der Container gelöscht oder abgelehnt wird, da die Daten nicht verloren gehen.

Dieser Artikel wird veranschaulichen:







Was ist Docker Bind Mounts?

Ein Docker-Bind-Mount ermöglicht Benutzern, eine bestimmte Datei/ein bestimmtes Verzeichnis auf dem Hostcomputer einer Datei/einem Verzeichnis innerhalb eines Containers zuzuordnen. Auf diese Weise können Benutzer Daten zwischen dem Host und dem Container austauschen und die Daten auch nach dem Stoppen oder Löschen des Containers beibehalten. Alle Änderungen, die an Dateien im freigegebenen Verzeichnis oder in der freigegebenen Datei vorgenommen werden, sind sowohl vom Container als auch vom Hostcomputer aus sichtbar.



Wie funktioniert Bind Mount in Docker?

Lassen Sie uns ein Beispiel nehmen und sehen, wie Bind-Mount in Docker funktioniert. Angenommen, wir haben ein leeres Verzeichnis „ Prüfen ' befindet sich ' C: Docker “ auf einem lokalen System. Nun wollen wir auf die „ Prüfen „Inhalt des Verzeichnisses am Standort“ /app ” aus einem bestimmten Container. Führen Sie in diesem Beispiel einen Container aus dem offiziellen Docker-Image aus, d. h. „ nginx “ und verwenden Sie den Bind-Mount, um ein bestimmtes Verzeichnis von der Hostmaschine in den Container zu mounten.



Befolgen Sie zum besseren Verständnis die angegebenen Schritte.





Schritt 1: Binden Sie das Mount-Verzeichnis vom Hostcomputer an den Container

Verwenden Sie zunächst die „ docker run -d –name -v : ” Befehl und führen Sie einen Container aus. Es bindet das Mount-Verzeichnis vom Hostcomputer an den Container:



Docker laufen -D --Name myCont -In C: / Docker / Prüfen: / app nginx:neueste


Hier:

    • -D ” wird verwendet, um den Container im Hintergrund auszuführen.
    • -Name “ wird verwendet, um den Containernamen zu definieren.
    • myCont “ ist unser Containername.
    • -In “ erstellt ein Volume im Container, das das Quellverzeichnis auf dem Hostcomputer dem Zielverzeichnis im Container zuordnet.
    • C:/Docker/Test “ ist der Pfad des Quellverzeichnisses (lokaler Computer).
    • /app “ ist der Pfad des Zielverzeichnisses (Containers).
    • nginx:neueste “ ist das neueste Docker-Image:



Dieser Befehl hat einen Container erstellt und ihm den Zugriff auf Dateien vom Hostcomputer ermöglicht und die Verwaltung der Datenpersistenz vereinfacht.

Schritt 2: Erstellen Sie eine Datei im Quellverzeichnis auf dem Hostcomputer

Navigieren Sie dann zum Pfad des Quellverzeichnisses, d. h. „ C:/Docker/Test “ auf dem Host-Rechner und erstellen Sie darin eine Nur-Text-Datei. Beispielsweise haben wir ein „ Demo ' Datei:


Schritt 3: Greifen Sie auf die Host-Maschinendatei im Container zu

Geben Sie nun den unten angegebenen Befehl ein, um auf den Inhalt des Containers zuzugreifen und darin Befehle auszuführen:

Docker Exekutive -Es myCont bash



Dabei öffnet sich die Behälterhülle.

Listen Sie danach den Inhalt des Containers mit dem bereitgestellten Befehl auf:

ls



Im obigen Screenshot ist der gesamte Inhalt des Containers zu sehen. Wählen Sie das gewünschte Verzeichnis und navigieren Sie dorthin.

Weiterleitung zu „ App ' Verzeichnis:

CD App


Listen Sie dann die „ App ” Verzeichnisinhalt, um zu überprüfen, ob die lokale Maschinendatei darin verfügbar ist:

ls



Es lässt sich beobachten, dass „ Demo.txt “-Datei ist im Container verfügbar und wir können darauf zugreifen.

Schritt 4: Datei im Container erstellen

Erstellen Sie als Nächstes eine weitere Datei in einem Container mit dem „ berühren ' Befehl:

berühren neu.txt



Wir haben ein „ neu.txt ' Datei.

Überprüfen Sie dann die neu erstellte Datei mit dem unten aufgeführten Befehl:

ls



Es ist ersichtlich, dass die Datei „ neu.txt “ wurde erfolgreich im Container erstellt.

Schritt 5: Überprüfen Sie die Datei auf dem lokalen System

Navigieren Sie schließlich zum Pfad des lokalen Computers und prüfen Sie, ob die „ neu.txt ” Datei ist verfügbar oder nicht:


Wie Sie sehen können, ist die „ neu.txt “-Datei ist auf dem lokalen Computer verfügbar und wir können darauf zugreifen. Dies zeigt an, dass die Änderungen auch auf dem lokalen Computer widergespiegelt werden.

Schritt 6: Docker-Container entfernen

Entfernen Sie nun den Behälter über die „ Docker rm “-Befehl zusammen mit dem Containernamen:

Docker rm myCont



Der ' myCont ” Container wurde erfolgreich gelöscht.

Schritt 7: Stellen Sie sicher, dass die Daten auf dem lokalen Computer bestehen bleiben

Überprüfen Sie nach dem Löschen des Containers, ob die Daten auf dem lokalen Computer bestehen bleiben oder nicht:


Wie Sie sehen können, blieben die Änderungen auch nach dem Löschen des Bind-Mount-Containers bestehen.

Abschluss

Docker Bind Mount wird verwendet, um ein Verzeichnis oder eine Datei vom Hostsystem in den Container zu mappen. Es erstellt eine Verknüpfung zwischen dem angegebenen Verzeichnis oder der angegebenen Datei auf dem Host und dem Dateisystem des Containers. Es macht es einfach und unkompliziert, mit Dateien umzugehen oder zu arbeiten, die außerhalb des Containers gespeichert sind. Alle Änderungen, die an Dateien im freigegebenen Verzeichnis oder in der freigegebenen Datei vorgenommen werden, werden sowohl im Host als auch im Container widergespiegelt. In diesem Artikel wurde Docker Bind Mount und seine Funktionsweise in Docker erläutert.