Detaillierte Erklärung der Bind-Mounts für die Docker-Datenspeicherung

Detaillierte Erklärung der Bind-Mounts für die Docker-Datenspeicherung

Bevor Sie diesen Artikel lesen, hoffe ich, dass Sie ein vorläufiges Verständnis von Volumes haben. Weitere Einzelheiten finden Sie in diesem Artikel:

Detaillierte Erklärung der Docker-Datenspeichervolumes

Standardmäßig erfolgt das Lesen und Schreiben von Containerdaten auf der Speicherebene des Containers. Wenn der Container gelöscht wird, gehen die darin enthaltenen Daten verloren. Daher sollten wir versuchen, sicherzustellen, dass in der Containerspeicherschicht keine Schreibvorgänge stattfinden. Um eine dauerhafte Speicherung von Daten zu erreichen, müssen wir eine Lösung zum Speichern von Daten wählen. Derzeit gibt es mehrere Möglichkeiten:

  • Bände
  • Halterungen binden
  • tmpfs-Halterungen

Das folgende Diagramm veranschaulicht diese drei Techniken:

Halterungen binden

Der Bind-Mount-Modus ist dem von Volumes sehr ähnlich. Der Unterschied besteht darin, dass der Bind-Mount-Modus jede Datei oder jeden Ordner auf dem Host in den Container einbindet, während Volumes im Wesentlichen einen vom Docker-Dienst verwalteten Bereich (der Standard ist ein Ordner unter /var/lib/docker/volumes) in den Container einbindet.

Die Verwendung von Bind-Mounts ähnelt der von Volumes, und die Hostdateien werden über -v oder --mount im Container gemountet. Hier ist ein Beispiel:

Wenn Sie den Parameter --mount verwenden, müssen Sie type=bind angeben:

$ docker run -d \
 --name=nginxtest \
 --mount Typ=binden,Quelle=/usr/local/web,Ziel=/usr/share/nginx/html \
 nginx:neueste

Das obige Beispiel mountet den Ordner /usr/local/web auf dem Host in den Ordner /usr/share/nginx/html im Container.

Oder verwenden Sie den Parameter -v :

$ docker run -d \
 --name=nginxtest \
 -v /usr/local/web:/usr/share/nginx/html \
 nginx:neueste

Nachdem die Bereitstellung erfolgreich war, liest oder schreibt der Container Daten aus dem Verzeichnis /usr/share/nginx/html, das tatsächlich Daten aus dem Verzeichnis /usr/local/web des Hosts liest oder schreibt. Daher können Volumes oder Bind-Mounts auch als eine Möglichkeit für Container und Hosts betrachtet werden, Dateien gemeinsam zu nutzen.

Wenn Sie Bind-Mounts verwenden, um ein Host-Verzeichnis in einem nicht leeren Verzeichnis in einem Container zu mounten, werden die Dateien im nicht leeren Verzeichnis im Container ausgeblendet und die Dateien, auf die der Container beim Zugriff auf dieses Verzeichnis zugreifen kann, stammen alle aus dem Host-Verzeichnis. Dies ist auch der größte Verhaltensunterschied zwischen dem Bind-Mount-Modus und dem Volume-Modus.

Anwendungsszenarien für Bind-Mounts

Bitte lesen Sie diesen Artikel: Zusammenfassung der Docker-Datenspeicherung

Verweise

https://docs.docker.com/storage/bind-mounts/

Zusammenfassen

Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, dass der Inhalt dieses Artikels einen gewissen Lernwert für Ihr Studium oder Ihre Arbeit hat. Vielen Dank für Ihre Unterstützung von 123WORDPRESS.COM. Wenn Sie mehr darüber erfahren möchten, schauen Sie sich bitte die folgenden Links an

Das könnte Sie auch interessieren:
  • So ändern Sie den Speicherort von Docker-Standardimages und -Containern
  • Detaillierte Erläuterung der persistenten Speicherung und Datenfreigabe von Docker
  • Detaillierte Erklärung der Docker-Datenspeichervolumes
  • Einführung in den Docker-Speichertreiber
  • Zusammenfassung der Docker-Datenspeicherung
  • Detaillierte Erklärung der TMPF-Mounts im Docker-Datenspeicher
  • Lösung für das Problem des unzureichenden Speicherressourcenpools des Docker-Servers

<<:  Detaillierte Erläuterung der JDBC-Datenbankverknüpfung und der zugehörigen Methodenkapselung

>>:  JavaScript zur Implementierung der Login-Schiebereglerüberprüfung

Artikel empfehlen

Das neueste Installations-Tutorial für virtuelle Maschinen VMware 14

Zuerst gebe ich Ihnen den Aktivierungscode für VM...

Detailliertes Beispiel für die Verwendung von useState in React

Verwendungsstatus useState fügt einer Komponente ...

Einführung in die Verwendung des Base-Link-Tags Base

<br />Wenn Sie auf den Link klicken, wird di...

Java verwendet Apache.POI, um HSSFWorkbook nach Excel zu exportieren

Verwenden Sie HSSFWorkbook in Apache.POI, um nach...

Chrome 4.0 unterstützt GreaseMonkey-Skripte

GreaseMokey (die Chinesen nennen es Grease Monkey...

Vue + node realisiert Audioaufzeichnungs- und -wiedergabefunktion

Ergebnis: Der Hauptteil besteht darin, die Codelo...

Detaillierte Erläuterung der gleichzeitigen Parameteranpassung von MySQL

Inhaltsverzeichnis Abfrage-Cache-Optimierung Über...

Problem mit der V-HTML-Rendering-Komponente

Da ich bereits HTML analysiert habe, möchte ich h...

Einführung in das Versionsverwaltungstool Rational ClearCase

Rational ClearCase ist ein Tool für das Softwarek...

Unterschiede zwischen ES6-Vererbung und ES5-Vererbung in js

Inhaltsverzeichnis Nachlass ES5-Prototypvererbung...

Node+Express zum Erzielen eines Paging-Effekts

In diesem Artikel wird der spezifische Code von n...

So richten Sie Referer in Nginx ein, um Bilddiebstahl zu verhindern

Wenn die Bilder des Servers von anderen Websites ...