Docker
Konzept der Docker-Volumes
Suche…
Bemerkungen
Leute, die Docker neu kennen, wissen oft nicht, dass Docker-Dateisysteme standardmäßig temporär sind. Wenn Sie ein Docker-Image starten, erhalten Sie einen Container, der sich auf der Oberfläche wie eine virtuelle Maschine verhält. Sie können Dateien erstellen, ändern und löschen. Im Gegensatz zu einer virtuellen Maschine gehen jedoch alle Änderungen verloren, wenn Sie den Container anhalten und erneut starten. Alle zuvor gelöschten Dateien sind nun wieder vorhanden, und alle neuen Dateien oder Änderungen, die Sie vorgenommen haben, sind nicht vorhanden.
Volumes in Docker-Containern ermöglichen persistente Daten und die gemeinsame Nutzung von Host-Maschinendaten in einem Container.
A) Starten Sie einen Container mit einem Volumen
[root@localhost ~]# docker run -it -v /data --name=vol3 8251da35e7a7 /bin/bash
root@d87bf9607836:/# cd /data/
root@d87bf9607836:/data# touch abc{1..10}
root@d87bf9607836:/data# ls
abc1 abc10 abc2 abc3 abc4 abc5 abc6 abc7 abc8 abc9
B) Drücken Sie nun [cont + P + Q], um den Container zu verlassen, ohne die Überprüfung des Containers auf den laufenden Container zu beenden
[root@localhost ~]# docker ps
CONTAINER ID BILDBEFEHL ERSTELLTE STATUSPORTS NAMEN d87bf9607836 8251da35e7a7 "/ bin / bash" Vor etwa einer Minute.
C) Führen Sie 'Docker Inspect' aus, um weitere Informationen zum Volume anzuzeigen
[root@localhost ~]# docker inspect d87bf9607836
"" "" "" Anzahl "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "Laufstür. "Modus": "", "RW": wahr
D) Sie können ein laufendes Container-Volume an andere Container anhängen
[root@localhost ~]# docker run -it --volumes-from vol3 8251da35e7a7 /bin/bash
root@ef2f5cc545be:/# ls
bin boot data dev etc home lib lib64 medien mnt opt prozz rennlauf sbin srv sys tmp usr var
root@ef2f5cc545be:/# ls
/ data abc1 abc10 abc2 abc3 abc4 abc5 abc6 abc7 abc8 abc9
E) Sie können auch Ihr Basisverzeichnis in einem Container einhängen
[root@localhost ~]# docker run -it -v /etc:/etc1 8251da35e7a7 /bin/bash
Hier: / etc ist das Host-Maschinenverzeichnis und / etc1 ist das Ziel innerhalb des Containers