Zusammenfassung der Docker-Datenspeicherung

Zusammenfassung der Docker-Datenspeicherung

Bevor Sie diesen Artikel lesen, hoffe ich, dass Sie über ein grundlegendes Verständnis von Volumes, Bind-Mounts und tmpfs-Mounts verfügen. Weitere Einzelheiten finden Sie in den folgenden Artikeln:

  • Docker-Datenspeichervolumes
  • Docker-Datenspeicher Bind-Mounts
  • Docker-Datenspeicher-TMPFs-Mounts

Die folgende Abbildung zeigt die Unterschiede zwischen Volumes, Bind-Mounts und tmpfs-Mounts:

Volume-Nutzungsszenarien

  • Teilen Sie Daten zwischen mehreren Containern.
  • Es gibt keine Möglichkeit sicherzustellen, dass der Docker-Host eine bestimmte Ordner- oder Verzeichnisstruktur hat. Die Verwendung von Volumes kann diese Hostunterschiede maskieren.
  • Wenn Sie Ihre Daten auf einem Remote-Host oder bei einem Cloud-Anbieter speichern möchten.
  • Wenn Sie Daten von einem Docker-Host auf einen anderen sichern, wiederherstellen oder migrieren möchten, sind Volumes die bessere Wahl.

Anwendungsfälle für Bind-Mounts

  • Geben Sie Konfigurationsdateien zwischen dem Host und dem Container frei. Wenn Sie beispielsweise die Konfigurationsdatei des Nginx-Containers auf dem Hostcomputer speichern und über Bind-Mounts mounten, müssen Sie den Container nicht aufrufen, um die Nginx-Konfiguration zu ändern.
  • Geben Sie Code oder Build-Ausgabe zwischen dem Host und dem Container frei. Sie können beispielsweise das Zielverzeichnis eines Projekts auf dem Host in den Container einbinden. Wenn Maven auf diese Weise ein neues Produkt auf dem Host erstellt, kann es direkt im Container ausgeführt werden, ohne dass ein neues Image generiert werden muss.
  • Die Datei- bzw. Verzeichnisstruktur auf dem Docker-Host wird bestimmt

Anwendungsfälle für tmpfs-Mounts

  • Wenn Sie aus Sicherheitsgründen oder anderen Gründen keine Daten im Container oder Host speichern möchten, können Sie den tmpfs-Mount-Modus verwenden.

Unterschiede im Verhalten zwischen Bind Mounts und Volumes

  • Wenn Sie ein leeres Volume in ein nicht leeres Containerverzeichnis mounten, werden die Dateien im Containerverzeichnis auf das Volume kopiert, d. h., die Originaldateien im Containerverzeichnis werden nicht durch das Volume überschrieben.
  • Wenn Sie Bind-Mounts verwenden, um ein Host-Verzeichnis in ein Container-Verzeichnis einzubinden, werden die Originaldateien im Container-Verzeichnis ausgeblendet, sodass nur die Dateien im Host-Verzeichnis gelesen werden können.

Verweise

https://docs.docker.com/storage/#good-use-cases-for-tmpfs-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
  • Detaillierte Erklärung der Bind-Mounts für die 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 ersten Verwendung von Promise in der asynchronen JavaScript-Programmierung

>>:  Die wichtigsten Unterschiede zwischen MySQL 4.1/5.0/5.1/5.5/5.6

Artikel empfehlen

So verwenden Sie das Videowiedergabe-Plugin DPlayer.js

Das Videoplayer-Plugin DPlayer.js ist einfach zu ...

Zusammenfassung der Spring Boot Docker-Verpackungstools

Inhaltsverzeichnis Spring Boot Docker Spring-Boot...

So fügen Sie MySQL Indizes hinzu

Hier ist eine kurze Einführung in Indizes: Der Zw...

Vergessen Sie nicht, den HTML-Tag zu schließen

Das Erstellen von Webseiten, die Webstandards ents...

So implementieren Sie Leerzeichen in Taobao mit CSS3

Machen Sie einen leeren Bereich für Taobao: Wenn ...

Welche Codes sollte ich beherrschen, wenn ich Webdesign lerne?

In diesem Artikel werden einige der Techniken ausf...

Reacts Methode zur Realisierung einer sekundären Verknüpfung

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

JavaScript zum Erzielen digitaler Uhreffekte

In diesem Artikelbeispiel wird der spezifische Co...

So verbinden Sie JDBC mit MySQL 5.7

1. Bereiten Sie zunächst die MySQL- und Eclipse-U...

Sammlung von MySQL-Fuzzy-Abfrageanweisungen

SQL-Fuzzy-Abfrageanweisung Die allgemeine Fuzzy-A...