Spezifische Verwendung von Docker Anonymous Mount und Named Mount

Spezifische Verwendung von Docker Anonymous Mount und Named Mount

Datenvolumen

Wenn wir über anonyme und benannte Mounts sprechen, sollten wir zunächst wissen, was Volumes sind. Volumes beziehen sich auf Datenvolumes. Wir werden dieses Volume für die Docker-Montage verwenden.

Der Zweck eines Datenvolumens besteht darin, ein spezielles Verzeichnis zu erstellen, das von einem oder mehreren Containern verwendet werden kann. Es umgeht UFS, ein Union-Dateisystem, und bietet viele Funktionen:
(1) Datenvolumes können von mehreren Containern gemeinsam genutzt oder wiederverwendet werden. (2) Änderungen an Datenvolumes werden sofort wirksam. (3) Aktualisierungen an Datenvolumes wirken sich nicht auf Images aus. (4) Datenvolumes bleiben standardmäßig bestehen, auch wenn der Container gelöscht wird (Kombination der Punkte 2 und 3, insbesondere wie bei nacos).

Mit dem folgenden Befehl lässt sich das Datenvolumen einsehen:

Docker-Volume – Hilfe

Tatsächlich ist der Befehlsinhalt nicht sehr umfangreich, er lautet wie folgt:

Bildbeschreibung hier einfügen

Tatsächlich müssen Sie vorher kein Volume erstellen. Sie benennen es, wenn Sie es mounten. Wenn es nicht gefunden werden kann, wird basierend auf dem von Ihnen angegebenen Namen ein neues Datenvolume mit einem Namen anstelle eines Hash-Codes erstellt.

Anonyme und benannte Reittiere

Mit dem bisherigen Wissen über Volumes können wir tatsächlich den Unterschied zwischen anonymem Mount und benanntem Mount erkennen. Das eine ist ein Mount ohne Volume-Namen und das andere ist ein Mount mit einem angegebenen Volume-Namen.

Beispielsweise haben wir nach dem letzten Mounten den Mount-Pfad angegeben. Tatsächlich können wir es einfacher mounten, indem wir den Host-Pfad nicht angeben und den Docker-Container-Pfad direkt mit -v mounten. Installieren Sie nginx wie folgt anonym.

# Anonymer Mount -P Großbuchstabe P, zufälligen Port zuordnen -v Containerpfad docker run -d -P --name nginx01 -v /etc/nginx nginx

Tatsächlich wird ein Hash-Code zurückgegeben, der den Namen des anonym bereitgestellten Datenträgers angibt. Anhand dieses Hash-Codes können Sie auch den entsprechenden Datenträger finden. Für Sie ist er anonym, aber die Leute werden ihm tatsächlich einen Namen geben. Mit dem Befehl „volume ls“ können wir anzeigen, welche Datenvolumes verfügbar sind.

Docker-Volumen ls

Diese benannte Einbindung muss das Datenvolumen angeben, ähnlich wie die vorherige Einbindung mit angegebenem Pfad, aber dieses Mal verwenden wir keinen bestimmten angegebenen Pfad, sondern den Namen des Datenvolumens.

# VOLUME NAME wird aktuell als anonymes Datenvolume angezeigt. Beim Mounten mit -v wird nur der Pfad im Container geschrieben, nicht der Pfad auf dem Host. # Benanntes Mounten # Übergeben Sie -v Volumename: Pfad im Container docker run -d -P --name nginx02 -v juming-nginx:/etc/nginx nginx

Speicherort des Datenträgers

Nachdem wir nun bestimmte Datenvolumes eingerichtet, Container bereitgestellt und den Zweck der Datenvolumes kennen, stellt sich die Frage: Wo befinden sich die Datenvolumes? Schließlich ist alles, was gemountet ist, dort vorhanden. Schauen Sie also einfach nach, wo es ist, um ein versehentliches Löschen zu vermeiden.

Tatsächlich lautet der spezifische Pfad unter Docker:

/var/lib/docker/volumes/xxxx/_data

Wir können zu diesem Pfad wechseln, um uns das Datenvolumen anzusehen. Ich wechsle beispielsweise zu dem zweiten benannten Datenvolumenverzeichnis, in dem nginx gemountet ist, um mir die spezifische Struktur anzusehen.

Bildbeschreibung hier einfügen

Lassen Sie uns unsere Montagemöglichkeiten zusammenfassen:

Wie kann ermittelt werden, ob es sich um eine benannte Einbindung, eine anonyme Einbindung oder eine Einbindung über einen angegebenen Pfad handelt?
-v Pfad im Container# anonymes Mounten
-v Datenträgername:/Pfad innerhalb des Containers# Benannter Mount
-v /Hostpfad:/Containerpfad# Den angegebenen Pfad einhängen

# Verwenden Sie -v, um den Pfad im Container festzulegen: ro rw, um die Lese- und Schreibberechtigungen zu ändern. # ro readonly, nur lesen # rw readwrite, lesen und schreiben # Wenn Containerberechtigungen festgelegt sind, verfügt der Container über eingeschränkte Berechtigungen für die gemounteten Daten. 
docker run -d -P --name nginx04 -v juming-nginx:/etc/nginx:ro nginx
docker run -d -P --name nginx04 -v juming-nginx:/etc/nginx:rw nginx
# ro Wenn Sie ro sehen, bedeutet dies, dass dieser Pfad nur über die Hostmaschine und nicht innerhalb des Containers ausgeführt werden kann.

Dies ist das Ende dieses Artikels über die spezifische Verwendung von Docker Anonymous Mount und Named Mount. Weitere relevante Inhalte zu Docker Anonymous Mount und Named Mount finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, dass jeder 123WORDPRESS.COM in Zukunft unterstützen wird!

Das könnte Sie auch interessieren:
  • Probleme mit dem benannten Mount und dem anonymen Mount des Docker-Container-Datenvolumens
  • Implementierung benannter und anonymer Mounts in Docker

<<:  Der Unterschied zwischen den vier Dateierweiterungen .html, .htm, .shtml und .shtm

>>:  Detaillierte Erklärung zur Verwendung der Vue h-Funktion

Artikel    

Artikel empfehlen

MySQL-Abfrage-Cache und Pufferpool

1. Caches - Abfrage-Cache Die folgende Abbildung ...

MySQL mit Nutzungsanalyse

Verwendung von „haben“ Mit der Having-Klausel kön...

Schritte zur Lösung des Zeitzonenproblems in MySQL 8.0

Softwareversion Windows: Windows 10 MySQL: mysql-...

So implementieren Sie „insert if none“ und „update if yes“ in MySql

Zusammenfassung In einigen Szenarien kann eine so...

Eine kurze Beschreibung der Beziehung zwischen k8s und Docker

In letzter Zeit verwendet das Projekt Kubernetes ...

Mit CSS3 können Sie eine schwebende Wolkenanimation erzielen

Wirkung der Operation html <Kopf> <meta ...

Detaillierte Erklärung des Sticky Position-Attributs in CSS

Beim Entwickeln mobiler Apps stoßen Sie häufig au...

Fallbeispiel zur TypeScript-Schnittstellendefinition

Die Rolle der Schnittstelle: Schnittstelle, auf E...

Detaillierte Erläuterung von acht Methoden zum Korrigieren des CSS-Seitenendes

Beim Schreiben einer Seite kommt es häufig vor, d...

Kodierungsprobleme und -lösungen, wenn MySQL zwei Tabellen verknüpft

Wenn Mysql zwei Tabellen verknüpft, wird eine Feh...