5.0 KiB
Raw Blame History

https://geshan.com.np/blog/2021/12/docker-postgres/ https://belowthemalt.com/2021/06/09/run-postgresql-and-pgadmin-in-docker-for-local-development-using-docker-compose/ https://thibaut-deveraux.medium.com/how-to-install-neo4j-with-docker-compose-36e3ba939af0 https://towardsdatascience.com/how-to-run-postgresql-and-pgadmin-using-docker-3a6a8ae918b5

Installation Docker Desktop

Starten eines Containers:

docker run --name basic-postgres --rm -e POSTGRES_USER=postgres -e POSTGRES_PASSWORD=4y7sV96vA9wv46VR -e PGDATA=/var/lib/postgresql/data/pgdata -v /tmp:/var/lib/postgresql/data -p 5432:5432 -it postgres:14.1-alpine

Dieser Befehl startet einen Container mit dem Postgres14.1-alpine Image, welches von Dockerhub geladen wird. Der Container läuft unter dem Namen basic-postgres

Syntax Attribut Beschreibung
basic-postgres --name Angabe des Containernamens
--rm Bei Beendigung des Containers wird das erstellte Dateisystem entfernt
-e Verwende Umgebungsvariablen
POSTGRES_USER Umgebungsvariable für den anzulegenden Benutzer: postgres
POSTGRES_PASSWORD Umgebungsvariable für das anzulegende Passwort: 4y7sV96vA9wv46VR
PGDATA Umgebungsvariable für den Ort der Datenbank
-v Einzubindendes Volumen: /tmp:/var/lib/postgresql/data
-p Angabe des Containerports und des öffentlich zugänglichen Ports
-it Interactive: der Container bleibt aktiv, damit mit diesem interagiert werden kann

Mit einem zweiten Terminalfenster kann man auf die Bash des Containers öffnen und auf die Datenbank zugreifen.

docker exec -it basic-postgres /bin/sh

Die folgenden Befehle starten die Postgres CLI, Ausgabe aller Datenbanken und beendet die CLI.

Psql username postgres
\l
Exit

Der Container kann durch Betätigung von STRG + C beendet werden.

Docker Compose

Das oben erklärte Vorgehen zum Starten eines Containers, festlegen der Umgebungsvariablen und zusätzliche verlinken zu einer Anwendung wird nun in einer yml-Datei beschrieben, um die Verwaltung und das Erstellen zu vereinfachen.

Beschreibung
Version Version von docker-compose
Services Definition der Services, wobei jeder ein eigenen docker-run Befehl ausführt.
image Angabe des zu verwendenden Images
restart Option um Container erneut zu starten, falls dieser gestoppt wird
Environment Umgebungsvariablen: Username und Passwort
Ports Mapping des Containerports zum Port der Hostmaschine
Volumes Angabe eines Volumes zum Persistieren der Containerdaten, damit nach einem Neustart die Daten wieder verfügbar sind

Nun kann der Container mittels Docker-Compose gestartet werden.

docker-compose -f /.../docker-compose-postgres.yml up

pgAdmin

pgAdmin ist ein grafisches Administrationswerkzeug für postgreSQL und macht die oben gezeigte Administration komfortabler.

Erreichbar ist das Interface über: http://localhost:5050

Als Login werden die Daten aus der docker-compose verwendet:

> User: admin@fh-swf.de
> Passwort: admin

Anlegen eines Servers

Zuerst muss der Server angelegt werden, dafür einen Rechtsklick auf Server und den Button „Register“ auswählen.
Im geöffneten Dialog muss die Konfiguration festgelegt werden.

Reiter Parameter Wert
General Name postgres_docker
Connection Host name/address local_pgdb (siehe docker-compose)
Connection Username postgres (siehe docker-compose)
Connection Password postgres (siehe docker-compose)