So verwenden Sie Docker-Volumes zur dauerhaften Datenspeicherung

Wenn Sie Docker verwenden, können Sie Volumes verwenden, um Daten auch dann beizubehalten, wenn Sie die Container stoppen oder neu starten. Wir erstellen und verwenden Docker-Volumes für PostgreSQL.

Voraussetzungen

So können Sie diesem Tutorial folgen:

  • Sie sollten Docker installiert auf Ihrem Rechner
  • Sie sollten mit Docker-Befehlen und PostgreSQL vertraut sein

Schritt 1: Ziehen Sie das PostgreSQL-Picture

Zuerst ziehen wir das PostgreSQL-Picture von DockerHub:

Schritt 2: Erstellen Sie ein Docker-Quantity

Als Nächstes erstellen wir ein Docker-Quantity zum Speichern der Daten. Dieses Quantity speichert die Daten auch dann, wenn der Container entfernt wird.

$ docker quantity create pg_data

Schritt 3: Ausführen des PostgreSQL-Containers

Nachdem wir nun das Picture heruntergeladen und ein Quantity erstellt haben, können wir den PostgreSQL-Container ausführen und das erstellte Quantity daran anhängen.

$ docker run -d 
	--name my_postgres 
	-e POSTGRES_PASSWORD=mysecretpassword 
	-v pg_data:/var/lib/postgresql/information 
	-p 5432:5432 
	postgres

Dieser Befehl wird ausgeführt my_postgres im getrennten Modus. Mit –v pg_data:/var/lib/postgresql/information montiert die pg_data Volumen auf /var/lib/postgresql/daten im Container. Und mit -p 5432:5432 Karten Port 5432 von my_postgres zu Port 5432 auf dem Hostcomputer.

Schritt 4: Überprüfen der Quantity-Nutzung

Nachdem wir das Quantity erstellt haben, können wir überprüfen, ob es verwendet wird. Sie können das Quantity überprüfen und den Inhalt prüfen.

$ docker quantity examine pgdata

Durch Ausführen dieses Befehls werden Particulars zum Quantity angezeigt, einschließlich seines Einhängepunkts auf Ihrem Hostsystem. Sie können zu diesem Verzeichnis navigieren und die PostgreSQL-Datendateien anzeigen.

(
	{
    	"CreatedAt": "2024-08-07T15:53:23+05:30",
    	"Driver": "native",
    	"Labels": null,
    	"Mountpoint": "/var/lib/docker/volumes/pg_data/_data",
    	"Title": "pg_data",
    	"Choices": null,
    	"Scope": "native"
	}
)

Schritt 5: Erstellen einer Datenbank und Tabelle

Stellen Sie eine Verbindung zur Postgres-Instanz her und erstellen Sie eine Datenbank und eine Tabelle.

Starten Sie eine psql-Sitzung:

$ docker exec -it my_postgres psql -U postgres

Erstellen Sie eine neue Datenbank:

Stellen Sie eine Verbindung zur neuen Datenbank her:

Erstellen Sie eine Tabelle und fügen Sie einige Daten ein:

CREATE TABLE customers (
    id SERIAL PRIMARY KEY,
    title VARCHAR(100),
    e mail VARCHAR(100)
);

INSERT INTO customers (title, e mail) VALUES ('Abby', 'abby@instance.com'), ('Bob', 'bob@instance.com');

Führen Sie eine Beispielabfrage aus:

Ausgabe:

 id | title |  	e mail  	 
----+------+------------------
  1 | Abby | abby@instance.com
  2 | Bob  | bob@instance.com

Schritt 6: Stoppen und Entfernen des Containers

Stoppen Sie den laufenden Container und entfernen Sie ihn. Wir tun dies, damit wir testen können, ob die Daten auch dann erhalten bleiben, wenn der Container gestoppt wird.

$ docker cease my_postgres
$ docker rm my_postgres

Schritt 7: Führen Sie den Postgres-Container mit demselben Quantity erneut aus

Starten Sie einen neuen PostgreSQL-Container mit demselben Volumen, um die Datenpersistenz sicherzustellen.

$ docker run -d 
	--name my_postgres 
	-e POSTGRES_PASSWORD=mysecretpassword 
	-v pgdata:/var/lib/postgresql/information 
	-p 5432:5432 
	postgres

Stellen Sie eine Verbindung mit der Postgres-Instanz her und überprüfen Sie, ob die Daten erhalten bleiben.

Öffnen Sie eine psql-Sitzung:

$ docker exec -it my_postgres psql -U postgres

Verbinden Sie sich mit dem mydb Datenbank:

Überprüfen Sie die Daten im customers Tisch:

Sie sollten immer noch die Ausgabe sehen:

 id | title |  	e mail  	 
----+------+------------------
  1 | Abby | abby@instance.com
  2 | Bob  | bob@instance.com

Ich hoffe, dieses Tutorial hilft Ihnen zu verstehen, wie Sie Volumes zum persistenten Speichern von Daten bei der Arbeit mit Docker verwenden.

Weitere Ressourcen

Weitere Informationen finden Sie in den folgenden Ressourcen:

Viel Spaß beim Entdecken!

Bala Priya C ist Entwicklerin und technische Redakteurin aus Indien. Sie arbeitet gerne an der Schnittstelle zwischen Mathematik, Programmierung, Datenwissenschaft und Inhaltserstellung. Ihre Interessens- und Fachgebiete umfassen DevOps, Datenwissenschaft und natürliche Sprachverarbeitung. Sie liest, schreibt, programmiert und trinkt gerne Kaffee! Derzeit arbeitet sie daran, ihr Wissen zu lernen und mit der Entwickler-Neighborhood zu teilen, indem sie Tutorials, Anleitungen, Meinungsbeiträge und mehr verfasst. Bala erstellt auch ansprechende Ressourcenübersichten und Programmier-Tutorials.



Von admin

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert