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

Ubuntu kompiliert Kernelmodule und der Inhalt wird im Systemprotokoll angezeigt

Inhaltsverzeichnis 1.Linux-Anmeldeschnittstelle 2...

So fügen Sie einem Benutzer in einer Linux-Umgebung Sudo-Berechtigungen hinzu

sudo-Konfigurationsdatei Die Standardkonfiguratio...

jQuery-Plugin zum Implementieren eines schwebenden Menüs

Lernen Sie jeden Tag ein schwebendes jQuery-Plug-...

HTML implementiert problemlos abgerundete Rechtecke

Frage: Wie erreiche ich mit Div+CSS und Positioni...

Mybatis-Statistiken zur Ausführungszeit jeder SQL-Anweisung

Hintergrund In letzter Zeit werde ich in Intervie...

So verwenden Sie iostat zum Anzeigen der IO-Leistung von Linux-Festplatten

TOP-Beobachtung: Der Prozentsatz der CPU-Zeit, de...

Die umfassendste package.json-Analyse

Inhaltsverzeichnis 1. Übersicht 2. Namensfeld 3. ...

Installieren Sie Docker für Windows unter Windows 10 Home Edition

0. Hintergrund Hardware: Xiaomi Notebook Air 13/I...

Lösen Sie das Problem, dass die mit nginx erhaltene IP-Adresse 127.0.0.1 ist

Holen Sie sich das IP-Tool importiere lombok.exte...

Lassen Sie uns ausführlich über den Vue-Lebenszyklus sprechen

Inhaltsverzeichnis Vorwort 1. Lebenszyklus in Vue...

Grundsätze zur Auswahl von MySQL-Datentypen

Inhaltsverzeichnis Klein aber fein Mach es einfac...

Warum der CSS-Attributwert clear:right im Detail nicht funktioniert

Die Verwendung der Clear-Eigenschaft zum Löschen v...

js implementiert ein einfaches Warenkorbmodul

In diesem Artikelbeispiel wird der spezifische Co...