Im vorherigen Artikel habe ich die Grundkenntnisse von Docker vorgestellt: wie man ein lokales Verzeichnis mountet. Heute werde ich zwei Möglichkeiten zum Verwalten von Datenvolumina in Docker vorstellen. Die spezifischen Inhalte sind wie folgt: Was ist ein DatenvolumenDatenvolumen: Ein Volume ist eine bestimmte Datei oder ein bestimmter Ordner, der in einem oder mehreren Containern vorhanden ist. Dieses Verzeichnis existiert auf dem Hostcomputer in einer vom Union-Dateisystem unabhängigen Form und erleichtert die gemeinsame Nutzung und Persistenz von Daten. Warum Datenvolumen nutzen? Probleme mit dem mehrschichtigen Docker-Dateisystem: Zwei Möglichkeiten zur Verwaltung von Datenmengen
1. Halterung binden Bind Mount dient zum Mounten des Verzeichnisses oder der Datei auf dem Host in den Container. Intuitiv und effizient zu bedienen, leicht verständlich. Führen Sie einen Container mit dem Nginx-Image im Hintergrund aus und mounten Sie das /data-Verzeichnis des Hosts in das Verzeichnis des Containers /usr/share/nginx/html [root@server1 ~]# docker run -d --name demo -v /data:/usr/share/nginx/html nginx Wechseln Sie zum Ausführen in den Vordergrund und überprüfen Sie den Inhalt der angegebenen Verzeichnisse des Hosts bzw. des Containers. Sie sind identisch. Dies liegt daran, dass diese Mount-Methode der Mount-Methode entspricht, die wir normalerweise verwenden. Die Originaldaten werden ausgeblendet und durch die Daten des Hostcomputers ersetzt. [root@server1 ~]# docker exec -it demo bash Die Standardberechtigungen für die Bind-Einbindung sind Lesen/Schreiben (rw), und Sie können bei der Einbindung schreibgeschützt (ro) angeben. Der mit der Option -v angegebene Pfad wird beim Mounten automatisch erstellt, falls er nicht existiert. docker run -it --name vm1 \ /etc/yum.repos.d/dvd.repo:/etc/yum.repos.d/dvd.repo:ro rhel7 bash 2. Von Docker verwaltetes Volume Beim Bind-Mount muss der Pfad zum Host-Dateisystem angegeben werden, was die Portabilität einschränkt. [root@server1 ~]# docker volume create webdata #Erstellen Sie ein Volume mit dem Namen webdata[root@server1 ~]# docker rm -f demo #Löschen Sie das oben erstellte Volume[root@server1 ~]# docker run -d --name demo -v webdata:/usr/share/nginx/html nginx #Mounten Sie das Webdatenvolume in das Verzeichnis /usr/share/nginx/html im Container und führen Sie einen Container aus Mounten Sie das erstellte Webdatenvolume in das Verzeichnis /usr... des Containers. [root@server1 ~]# docker rm -f demo [root@server1 ~]# docker run -d --name demo -v /usr/share/nginx/html nginx 67ab13a7b24c19c53f4ce117136b9d0e4dec93c615a0192ead919d10e6c2acae
ls /var/lib/docker/volumes/2ca22fd769e4b7b6f5a02dd96fe8d47a6df5578074c0d340ced3ab33b25456ca/_data Vergleich zwischen Bind-Mount und Docker-verwalteten Volumes Ähnlichkeiten: Beides sind Pfade im Host-Dateisystem. Damit ist dieser Artikel über zwei Möglichkeiten zur Verwaltung von Volumes in Docker abgeschlossen. Weitere Informationen zu Docker-Volumes 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:
|
Da ich normalerweise den Befehl „Docker Build“ ve...
1. Verwenden Sie die Geschwindigkeitskontrollfunk...
In diesem Artikel finden Sie den spezifischen Cod...
Einführung: Wenn wir MySQL zum Erstellen einer Ta...
Vorwort: Apropos Sandboxen: Wir denken vielleicht...
Aufgezeichnetes MySQL 5.7.9-Installationstutorial...
Inhaltsverzeichnis Webkomponenten benutzerdefinie...
Wer King of Glory gespielt hat, sollte mit der Wi...
Ich liebe das Programmieren, es macht mich glückl...
Der Interviewer wird Sie manchmal fragen: „Sagen ...
1. Überprüfen Sie, ob der MySQL-Dienst gestartet ...
Vorwort Das Schreiben effizienter SQL-Anweisungen...
einführen Die ursprünglichen Worte von You Yuxi. ...
In diesem Artikelbeispiel wird der spezifische Ja...
Ich habe im Internet nach dreistufigen Verknüpfun...