Einführung in Container-Datenvolumes in Docker

Einführung in Container-Datenvolumes in Docker

Datenvolumen des Docker-Containers

Wenn sich alle Daten im Container befinden, gehen sie beim Löschen des Containers verloren. Daher hoffen wir, dass die Daten dauerhaft gespeichert werden können.
Beispielsweise hoffen wir, dass in einem MySQL-Container die Daten lokal gespeichert werden können, damit die Daten nicht verloren gehen, wenn der MySQL-Container gelöscht wird.
Es kann eine Datenfreigabetechnologie zwischen Containern geben. Die im Docker-Container generierten Daten können mit dem lokalen Computer synchronisiert werden. Dies ist die Volume-Technologie. Das ist die Datenmontagetechnologie, die das Verzeichnis in unserem Container auf Linux montiert.

Bildbeschreibung hier einfügen
Nach dem Mounten werden die Vorgänge, die wir im Container durchführen, mit dem Linux-Host synchronisiert.

Datenvolumes verwenden

Methode 1: Direktes Mounten mit dem Befehl -v

docker run -it -v Hostverzeichnis: Containerverzeichnis#test[root@sumarua home]# docker run -it -v /home/ceshi:/home centos /bin/bash

# Nach dem Start können wir es über Docker Inspect Container ID überprüfen] 

Bildbeschreibung hier einfügen

Beispiel

MySQL-Datenpersistenz

[root@sumarua home]# docker run -d -p 3310:3306 -v /home/mysql/conf:/etc/mysql/conf.d -v /home/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=666666 --name mysql mysql5.7

Benannte und anonyme Reittiere

#Anonymous mount -v Containerpfad docker run -d -p --name nginx01 -v /etc/nginx nginx
#Alle Volumes anzeigen Docker-Volume ls

Bildbeschreibung hier einfügen

# Benanntes Mount# Über -v Volumename: Pfad im Container Docker Run -d -p --name nginx02 -v juming-nginx:/etc/nginx nginx
#Docker-Volume ls anzeigen 

Bildbeschreibung hier einfügen

Wir können den spezifischen Ort überprüfen, an dem das Volume gemountet ist

Docker-Volume-Inspect [Volume-Name]

Bildbeschreibung hier einfügen

Alle Volumes in Docker-Containern befinden sich in /var/lib/docker/volumes/xxxx/_data wenn kein Verzeichnis angegeben ist.
Durch die Angabe eines Namens können wir das Volumen leicht ermitteln.
So ermitteln Sie, ob es sich um eine benannte Einbindung, eine anonyme Einbindung oder eine Einbindung über einen angegebenen Pfad handelt

-v Pfad im Container #anonymes Mounten -v Volumename: Pfad im Container #benanntes Mounten -v /Hostpfad: Pfad im Container #angegebenes Mounten

expandieren:

# Ändern Sie die Lese- und Schreibberechtigungen über -v Containerpfad: ro rw ro readonly #read-only rw readwrite #lesbar und beschreibbar #Standardmäßig lesbar und beschreibbar #Sobald die Containerberechtigungen festgelegt sind, begrenzt der Container den von uns gemounteten Inhalt #ro Dieser Pfad kann nur über die Hostmaschine bedient werden und nicht innerhalb des Containers.

Methode 2: Dockerfile

Dockerfile ist eine Build-Datei und ein Befehlsskript zum Erstellen eines Docker-Images.
Mit diesem Skript können Bilder generiert werden. Die Bilder sind geschichtet und die Skripte sind Befehle nacheinander, und jeder Befehl ist eine Ebene.

# Erstellen Sie eine Dockerfile-Datei. Der Name kann beliebig sein. Dockerfile wird empfohlen.
# Inhaltsbefehl (Großbuchstaben) Parameter in der Datei VON centos
BAND ["Band01","Band02"]
CMD echo "----Ende----"
CMD /bin/bash
# Jeder Befehl hier ist eine Ebene des Bildes

Datenvolumencontainer

--volumes-from

# Verwendung [root@sumarua]#docker run -it --name docker02 --volumes-from docker01 sumarua/centos

Realisieren Sie Datensynchronisation und Datenaustausch zwischen Containern

Bildbeschreibung hier einfügen

Das Löschen von Dateien aus einem Datenträgercontainer hat keine Auswirkungen auf den Datenzugriff in anderen Containern, die auf diesem Container gemountet sind. Es handelt sich um ein Kopierkonzept und einen Sicherungskopiemechanismus.

Bildbeschreibung hier einfügen

Die Konfigurationsinformationen werden zwischen Containern übertragen. Der Lebenszyklus des Datenvolumencontainers dauert so lange, bis kein Container mehr verwendet wird.
Sobald die lokalen Daten jedoch lokal gespeichert sind, werden sie nicht gelöscht.

Zusammenfassen

Dies ist das Ende dieses Artikels über Containerdatenvolumes in Docker. Weitere relevante Docker-Datenvolumes 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:
  • Zwei Möglichkeiten zum Verwalten von Volumes in Docker
  • Löschvorgang für Docker-Volumes
  • Docker-Volumes-Dateizuordnungsmethode
  • So implementieren Sie die Docker-Volume-Montage
  • Detaillierte Erklärung der Docker-Datenspeichervolumes
  • Details und Beispiele zur Docker-Volume-Nutzung
  • Docker schreibt Daten auf das Datenvolumen

<<:  40 Webseiten-Designs mit supergroßen Schriftarten

>>:  Schritte zur Implementierung der Autorisierungsanmeldung für das WeChat-Applet von Uni-App

Artikel empfehlen

Der gesamte Prozess der Installation von mysql5.7.22 unter der ARM64-Architektur

MySQL-Download-Adresse: https://obs.cn-north-4.my...

Anweisungen zur verschachtelten Verwendung von MySQL ifnull

Verschachtelte Verwendung von MySQL ifnull Ich ha...

Vue-Komponente zur Realisierung einer Karussell-Animation

In diesem Artikelbeispiel wird der spezifische Co...

Detaillierte Erklärung zur Verwendung des Grep-Befehls in Linux

Linux-Grep-Befehl Mit dem Linux-Befehl grep könne...

Implementierungsschritte für die Paketierung und Optimierung von Vue-Projekten

Inhaltsverzeichnis Verpacken, Starten und Optimie...

Schritte zum Installieren einer RocketMQ-Instanz unter Linux

1. JDK installieren 1.1 Überprüfen Sie, ob die ak...

Schritte zur vollständigen Deinstallation des Docker-Images

1. docker ps -a zeigt den laufenden Image-Prozess...

So legen Sie den Rahmen einer Webseitentabelle fest

<br />Zuvor haben wir gelernt, wie man Zelll...

Nginx verwendet den Gzip-Algorithmus zum Komprimieren von Nachrichten

Was ist HTTP-Komprimierung Manchmal werden relati...

JS Asynchronous Stack Tracing: Warum „await“ besser ist als „Promise“

Überblick Der grundlegende Unterschied zwischen a...

Vue implementiert die Abfrage von Startzeit und Endzeitbereich

In diesem Artikel erfahren Sie, wie Sie den Start...

Detaillierte Erklärung der KeepAlive-Anwendungsfälle in Vue

Bei der Entwicklung ist es häufig erforderlich, d...