Docker verfügt über drei Arten von Datenmontage, die helfen können - Volumina, Binden von Halterungen und TMPFs. Volumes speichern Daten im Dateisystem des Hosts, wird jedoch von Docker verwaltet. Binding Mounts helfen, Daten überall im Hostsystem zu speichern, und Benutzer können die Dateien direkt aus den eigenen Prozessen des Hosts ändern. Die TMPFS -Halterungen werden nur im Speicher des Hosts gespeichert. Docker -Volumina sind die beste Option, da sie am sichersten sind, um die Verwendung zu verwenden.
So verwenden Sie Docker -Bände
Probieren wir ein praktisches Beispiel aus. Wir werden ein paar Ubuntu -Container erstellen, die das gleiche Volumen teilen.
Zunächst möchten wir den Band mit dem folgenden Befehl erstellen:
$ docker Volumen erstellen My-Common-Vol
Jetzt können wir überprüfen, ob das Volumen vorhanden ist:
$ Docker Volume LS
Treiberbandname
Lokale My-Common-Vol
Wir können das Volumen weiter untersuchen, um seine Eigenschaften zu überprüfen:
$ docker Volumen inspizieren Sie My-Common-Vol
[
"Createdat": "2018-04-06T07: 43: 02Z",
"Fahrer": "Lokal",
"Labels": ,
"Mountpoint": "/var/lib/docker/volumes/my-common-vol/_data",
"Name": "My-Common-Vol",
"Optionen": ,
"Scope": "Lokal"
]
Es ist wichtig zu beachten. Es ist also nicht direkt zugänglich.
Beginnen wir jetzt unseren ersten Server mit My-Common-Vol.
(Hinweis für den Befehl Docker Run, können Sie die Optionen -Mount und -v verwenden, um ein Volumen zu montieren. Die Syntax der beiden ist anders. Wir werden die neueste Option -Mount -Option verwenden, da es die neueste ist.)
$ docker run-name server1-montal source = my-common-vol, target =/app -it ubuntu
Wir montieren My-Common-Vol an /App-Ordner im Server1 Docker Container. Der obige Befehl sollte Sie bei Ubuntu Server1 anmelden. Gehen Sie aus der Befehlszeile zum Ordner /App und erstellen Sie eine Datei:
root@1312ea074055: /# cd /AppDeshalb haben wir die Datei auf Server1 erstellt.txt im /App -Ordner.
Lassen Sie uns einen zweiten Server erstellen und das gleiche My-Common-VOL-Volumen darauf montieren:
$ docker run-name server2-montal source = my-common-vol, target =/src -it ubuntu
Jetzt können wir zum /src -Ordner in Server2 gehen, nach Server1 -Dateien überprüfen und eine neue Datei erstellen:
root@77cd51945461: /# cd /srcIm Ordner /src sehen wir das erstellte auf server1.TXT existiert bereits. Wir fügen auf Server2 erstellt.txt. Wir können den Server1 erneut überprüfen und sehen, dass er für Server2 erstellt wurde.txt zeigt sich.
Starten wir einen neuen Containerserver3, auf dem nur schreibgeschützte Zugriff auf die Lautstärke My-Common-VOL besteht:
$ docker run-name server3-montal source = my-common-vol, target =/test, readonly -it Ubuntu
Deshalb haben wir Server3 mit My-Common-Vol erstellt, die an /test montiert sind.
Versuchen wir, etwas in /Test zu schreiben:
root@a6620da1eea1:/# CD -TestSie können sehen, dass wir von Server3 nicht an my-common-vol schreiben können.
Sie können Bände löschen. Sie müssen jedoch alle zugehörigen Behälter entfernen, bevor Sie versuchen können. Andernfalls erhalten Sie einen solchen Fehler:
$ Docker Volume RM My-Common-Vol
Fehlerantwort von Daemon: Lautstärke kann nicht entfernen: My-Common-Vol entfernen:
Das Volumen wird verwendet - [1312EA07405528BC65736F56692C06F04280779FD283A81F59F8477F28AE35BA,
77CD51945461FA03F572EA6830A98A16ECE47B4F840C2EDFC2955C7C9A6D69D2,
A6620DA1EEA1A39D64F3ACDF82B6D70309EE2F8D1F2C6B5D9C98252D5792EA59]
In unserem Fall können wir die Behälter und das Volumen wie folgt entfernen:
$ Docker Container RM Server1
$ Docker Container RM Server2
$ Docker Container RM Server3
$ Docker Volume RM My-Common-Vol
Wenn Sie mehrere Bände montieren möchten.
Weiteres Studium: