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:
Zusammenfassen:
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:
|
Vorwort Der Grund, warum die InnoDB-Engine von My...
<meta http-equiv="X-UA-kompatibel" c...
Ergebnisse erzielen Schritt 1. Ursprüngliche inde...
Frage: Kann der Ursprungsserver keine Darstellung...
1. Iframe-Definition und -Verwendung Das Iframe-E...
Vererbung von Prototypketten Die Prototypenvererb...
Das Endergebnis sieht so aus, ist es nicht süß … ...
In MySQL gibt es drei Datumstypen: Datum (Jahr-Mo...
Inhaltsverzeichnis 1. Schreiben Sie Webshell in d...
Amtliche Dokumentation: https://dev.mysql.com/doc...
Wir haben bereits darüber gesprochen, wie man ein...
Befehl: mysqlhotcopy Dieser Befehl sperrt die Tab...
React unterscheidet sich von Vue. Es implementier...
Inhaltsverzeichnis Einführung Vier Merkmale von T...
Ich möchte Ihnen einen kreativen Einstieg vorstel...