Detaillierte Erklärung der Datenmengen von Docker-Containern

Detaillierte Erklärung der Datenmengen von Docker-Containern

Was ist

Schauen wir uns zunächst das Konzept von Docker an:

Packen Sie die Anwendung und die Ausführungsumgebung in einen Container. Der Container kann die Ausführung begleiten, aber wir hoffen, dass die Daten persistent sind und dass es möglich ist, Daten zwischen Containern auszutauschen.

Wenn die vom Docker-Container generierten Daten nicht durch Generieren eines neuen Images per Docker-Commit als Teil des Images gespeichert werden, verschwinden die Daten natürlich, wenn der Container gelöscht wird.

Um Daten im Docker zu speichern, verwenden wir Volumes.

Mit einem Wort: Es ist RDB und AOF in unserem Redis etwas ähnlich

Was kann ich tun?

Ein Volume ist ein Verzeichnis oder eine Datei, die in einem oder mehreren Containern vorhanden ist und von Docker in den Container eingebunden wird, aber nicht zum Union File System gehört. Daher kann es das Union FileSystem umgehen, um einige Funktionen für die dauerhafte Speicherung oder gemeinsam genutzte Daten bereitzustellen:

Der Entwurfszweck des Volumens ist die Datenpersistenz, die völlig unabhängig vom Lebenszyklus des Containers ist. Daher löscht Docker das bereitgestellte Datenvolumen nicht, wenn der Container gelöscht wird.

Merkmale:

  • Datenvolumes können zum Teilen oder Wiederverwenden von Daten zwischen Containern verwendet werden
  • Änderungen der Lautstärke können sofort wirksam werden
  • Änderungen am Datenvolumen werden bei der Imageaktualisierung nicht berücksichtigt
  • Der Lebenszyklus eines Datenvolumencontainers dauert so lange, bis kein Container ihn mehr verwendet (--volumes from)

Zusammenfassen:

  • Persistenz von Containerdaten
  • Vererbung + gemeinsame Daten zwischen Containern

Datenvolumen

Direkte Befehlsergänzung

docker run -it -v /host absoluter Pfad Verzeichnis:/Containerverzeichnis Imagenamedocker run -it -v /host absoluter Pfad Verzeichnis:/Containerverzeichnis:ro Imagename//mit Befehl Zugriffsrechte angeben, ro: nur lesen

Überprüfen Sie, ob das Datenvolume erfolgreich gemountet wurde:

Docker prüft Container-ID 

Hinzufügen mit DockerFile

Erstellen Sie einen neuen Ordner mydocker im Stammverzeichnis und geben Sie ein

Sie können die VOLUME-Anweisung in einer Docker-Datei verwenden, um dem Image ein oder mehrere Datenvolumes hinzuzufügen.

DockerFile-Build

Zum Schreiben von DockerFile können Sie auf die DockerFile-Dateien jedes Images in DockerHub verweisen, z. B. Tomcat: https://github.com/docker-library/tomcat/blob/300ac03f4696c761a81fa10afbb893f3368061de/8.5/jdk8/openjdk-buster/Dockerfile

#Lautstärketest
VON centos
VOLUME ["/DatenVolumeContainer1","/DatenVolumeContainer2"]
CMD echo "fertig,-------Erfolg1"
CMD /bin/bash

Nach dem Erstellen ein Image generieren

Holen Sie sich ein neues Bild zzyy/centos

Container ausführen

Durch die obigen Schritte ist die Volume-Verzeichnisadresse im Container bereits bekannt. Dort befindet sich das entsprechende Host-Verzeichnis.

Bemerkung:

Docker mountet das Host-Verzeichnis. Docker-Zugriff erscheint: Verzeichnis kann nicht geöffnet werden, Berechtigung verweigert

Lösung: Fügen Sie nach dem Mounten des Verzeichnisses einen Parameter --privileged=true hinzu

Datenvolumencontainer

Was ist

Der benannte Container mountet das Datenvolumen und andere Container teilen Daten, indem sie diesen (übergeordneten Container) mounten. Der Container, der das Datenvolumen mountet, wird als Datenvolumencontainer bezeichnet.

Transitive Freigabe zwischen Containern (--volumes-from)

docker run -it --name dco2 --volumes-from dc01 zzyy/cenos // dc01 ist der erste erstellte Container, dco2 erbt dc01, um Datenfreigabe zu erreichen

Das Datenvolumen wird vom übergeordneten Container (dc01) bereitgestellt. Wenn dc01 auf dc02 und dc03 bereitgestellt und dann gelöscht wird, ist das Datenvolumen weiterhin gültig.

Die Konfigurationsinformationen werden zwischen Containern übertragen und der Lebenszyklus des Datenvolumens wird fortgesetzt, bis kein Container es mehr verwendet.

Zusammenfassen

Dies ist das Ende dieses Artikels über Docker-Container-Datenvolumen. Weitere Informationen zu Docker-Container-Datenvolumen finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, Sie werden 123WORDPRESS.COM auch in Zukunft unterstützen!

Das könnte Sie auch interessieren:
  • Detaillierte Einführung und Beispiele für Docker-Datenvolumes und -Datencontainer
  • Detaillierte Einführung in Docker-Datenvolumen und Datenvolumencontainer
  • Einführung in Container-Datenvolumes in Docker
  • Probleme mit dem benannten Mount und dem anonymen Mount des Docker-Container-Datenvolumens
  • Zwei Möglichkeiten zum Verwalten von Volumes in Docker
  • Codebeispiele für allgemeine Docker-Datenvolumenvorgänge
  • Eine kurze Zusammenfassung der Bereitstellung eines Docker-Container-Datenvolumens
  • Docker mountet ein Volume um MySQL-Daten zu speichern

<<:  Analyse zur Lösung des Problems, dass Navicat Premium eine Verbindung zu MySQL 8.0 herstellt und den Fehler „1251“ meldet.

>>:  JavaScript zum Implementieren der Inhaltsaufforderung und der versteckten Funktion des Eingabefelds

Artikel empfehlen

Detaillierte Erklärung des Vue-Plugins

Zusammenfassen Dieser Artikel endet hier. Ich hof...

XHTML-Tutorial für die ersten Schritte: XHTML-Webseiten-Bildanwendung

<br />Das sinnvolle Hinzufügen von Bildern k...

Detaillierte Erklärung zur Einstellung des Hintergrundbild-Attributs in HTML

Bei Bildern denken wir zuerst an das Hintergrundb...

Erstellen eines statischen Jenkins Docker-Agentknotens

Ein statischer Knoten ist auf einer Maschine fixi...

So erstellen Sie ein ELK-Protokollsystem basierend auf Docker

Hintergrundanforderungen: Mit zunehmender Größe d...

Vor- und Nachteile von bedingten Kommentaren im Internet Explorer

Die bedingten Kommentare des Internet Explorers s...

So betten Sie Dateien im Flash-Videoformat (FLV, SWF) in HTML-Dateien ein

Flash-Dateiformate: .FLV und .SWF Für das Flash-Vi...

Eine kurze Analyse von MySQL-Verbindungen und -Sammlungen

Join-Abfrage Eine Join-Abfrage bezieht sich auf e...

DOCTYPE-Element ausführliche Erklärung vollständige Version

1. Übersicht In diesem Artikel wird das DOCTYPE-E...

Detaillierte Erklärung der Softwarekonfiguration mit Docker-Compose unter Linux

Vorwort In diesem Artikel werden einige Docker-Co...