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

Vue2.0 implementiert adaptive Auflösung

In diesem Artikel wird der spezifische Code von V...

Eine kurze Diskussion über das Funktionswissen von Python

Inhaltsverzeichnis Zwei Hauptkategorien von Funkt...

Details zur Verwendung des Vue-Slots

Inhaltsverzeichnis 1. Warum Slots verwenden? 1.1 ...

Vue realisiert den Card-Flip-Effekt

In diesem Artikelbeispiel wird der spezifische Co...

So verwenden Sie wangEditor in Vue und erhalten durch Echo von Daten den Fokus

Bei der Hintergrundverwaltung von Projekten werde...

So installieren Sie MySql in CentOS 8 und erlauben Remoteverbindungen

Herunterladen und installieren. Prüfen Sie zunäch...

Stellen Sie das Vue-Projekt auf einem Linux-Server bereit

Fall 1 vue-cli erstellt das vue3-Projekt, lädt da...

Detailliertes Tutorial zum Bereitstellen von Jenkins basierend auf Docker

0. Als ich dieses Dokument erstellte, war es unge...

MySQL-Gruppe durch Gruppieren mehrerer Felder

Bei täglichen Entwicklungsaufgaben verwenden wir ...

CSS Sticky Footer-Implementierungscode

Dieser Artikel stellt den Implementierungscode fü...

Der gesamte Prozessdatensatz der rekursiven Komponentenkapselung von Vue3

Inhaltsverzeichnis Vorwort 1. Rekursive Komponent...

Javascript um den Drag-Effekt der Login-Box zu erreichen

In diesem Artikel wird der spezifische Code von J...

Detaillierte Erklärung zur Verwendung von Docker-Compose-Befehlen

Sie können Docker-Container auf verschiedene Arte...