Suche…


Einführung

Docker-Datenmengen bieten eine Möglichkeit, Daten unabhängig vom Lebenszyklus eines Containers zu speichern. Volumes bieten eine Reihe hilfreicher Funktionen wie:

Mounten eines Hostverzeichnisses innerhalb des Containers, Freigeben von Daten zwischen Containern mithilfe des Dateisystems und Beibehalten der Daten, wenn ein Container gelöscht wird

Syntax

  • Docker-Volume [OPTIONEN] [BEFEHL]

Mounten eines Verzeichnisses vom lokalen Host in einen Container

Es ist möglich, ein Host-Verzeichnis mit der Befehlszeilenoption -v oder --volume an einen bestimmten Pfad in Ihrem Container --volume . Im folgenden Beispiel wird /etc auf dem Host in /mnt/etc im Container /mnt/etc :

(on linux) docker run -v "/etc:/mnt/etc" alpine cat /mnt/etc/passwd
(on windows)  docker run -v "/c/etc:/mnt/etc" alpine cat /mnt/etc/passwd

Der Standardzugriff auf den Datenträger im Container lautet Lesen und Schreiben. Verwenden Sie das Suffix :ro um ein Volume schreibgeschützt in einem Container :ro .

docker run -v "/etc:/mnt/etc:ro" alpine touch /mnt/etc/passwd

Ein benanntes Volume erstellen

docker volume create --name="myAwesomeApp"

Die Verwendung eines benannten Datenträgers macht die Verwaltung von Datenträgern deutlich lesbarer. Es ist möglich, ein benanntes Volume mit dem oben angegebenen Befehl zu erstellen, aber es ist auch möglich, ein benanntes Volume innerhalb eines docker run mithilfe der Befehlszeilenoption -v oder --volume zu erstellen:

docker run -d --name="myApp-1" -v="myAwesomeApp:/data/app" myApp:1.5.3

Das Erstellen eines benannten Volumes in diesem Formular ähnelt dem Mounten einer Hostdatei / eines Hostverzeichnisses als Volume, mit der Ausnahme, dass anstelle eines gültigen Pfads der Volume-Name angegeben wird. Nach der Erstellung können benannte Volumes für andere Container freigegeben werden:

docker run -d --name="myApp-2" --volumes-from "myApp-1" myApp:1.5.3

Nachdem Sie den obigen Befehl ausgeführt haben, wurde ein neuer Container mit dem Namen myApp-2 aus dem Image myApp:1.5.3 , der das mit myAwesomeApp benannte Volume für myApp-1 . Das genannte Volume mit der Bezeichnung myAwesomeApp wird unter /data/app im myApp-2 Container myApp-2 , genauso wie es unter /data/app im myApp-1 Container myApp-1 .



Modified text is an extract of the original Stack Overflow Documentation
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow