GNU/Linux >> LINUX-Kenntnisse >  >> Ubuntu

So stellen Sie PostgreSQL auf einem Docker-Container bereit

Einführung

PostgreSQL , auch als Postgres, bezeichnet ist ein quelloffenes, objektrelationales Datenbankmanagementsystem. Entwickler entscheiden sich oft für diese relationale Datenbank, da sie kostenlos, stabil und flexibel ist. Tatsächlich sind PostgreSQL und MySQL die beliebtesten Verwaltungssysteme für relationale Datenbanken.

Heute ist Postgres eines der am häufigsten verwendeten Docker-Images, die in Containern ausgeführt werden. Die Beliebtheit containerisierter Datenbanken wird der Einfachheit zugeschrieben, mit der sie bereitgestellt werden können. Anstatt eine zentrale Datenbank für viele Anwendungen zu haben, können Entwickler außerdem einen PostgreSQL-Container für jede Anwendung zuweisen.

In diesem Tutorial erfahren Sie, wie Sie PostgreSQL auf einem Docker-Container ausführen.

Voraussetzungen

  • Zugriff auf ein Befehlszeilen-/Terminalfenster
  • Ein Benutzerkonto mit sudo Privilegien
  • Eine vorhandene Docker-Installation

PostgreSQL auf Docker-Containern ausführen

Die Bereitstellung eines Postgres-Containers ist einfach. Sie finden das Postgres-Image zum Erstellen dieser Datenbankcontainer im offiziellen Repository von Docker.

Diese Anleitung zeigt Ihnen zwei Möglichkeiten, dies zu tun.

Die erste Option verwendet Docker Compose , ein Tool zum Verwalten von Docker-Anwendungen mit mehreren Containern. Sie können Docker Compose verwenden, um Postgres als Dienst zu konfigurieren, der innerhalb eines Containers ausgeführt wird. In diesem Fall erstellen Sie eine yaml Datei mit allen Spezifikationen.

Alternativ können Sie a verwenden einzelner Docker-Befehl mit allen notwendigen Informationen zum Bereitstellen eines neuen PostgreSQL-Containers.

Option 1:Führen Sie Postgres mit Docker Compose aus

Um einen Postgres-Container mit Docker Compose bereitzustellen, sollten Sie dieses Docker-Tool auf Ihrem System eingerichtet haben.

Wenn Sie ein Linux-Benutzer sind und Hilfe bei der Einrichtung benötigen, lesen Sie eine unserer Anleitungen zur Installation von Docker Compose auf Ubuntu oder zur Installation von Docker Compose auf CentOS.

1. Um eine einfache und saubere Installation zu gewährleisten, möchten wir zunächst ein Arbeitsverzeichnis namens postgres erstellen und wechseln Sie in dieses Verzeichnis:

mkdir postgres
cd postgres/

2. Verwenden Sie als Nächstes Docker Compose, um das Postgres-Image herunterzuladen und den Dienst zum Laufen zu bringen. Erstellen Sie dazu eine neue docker-compose.yml Datei mit einem Editor Ihrer Wahl (in diesem Beispiel haben wir nano verwendet):

nano docker-compose.yml

3. Fügen Sie den folgenden Inhalt zu docker-compose hinzu Datei:

version: ‘3’
service:
  postgres:
  image: ‘postgres: latest’
  ports:
    - “5432:5432” 

Die Yaml-Konfigurationsdatei gibt an, dass es ein postgres gibt Dienst, der auf dem latest postgres image basiert . Sie können sich für die neueste Postgres-Version entscheiden oder die Versionsnummer angeben, die Sie verwenden möchten.

Schließlich müssen Sie die Ports definieren, auf denen der Container kommuniziert. 5432 ist die Standardportnummer für PostgreSQL.

4. Speichern und beenden Sie die Datei.

5. Nachdem Sie nun die yaml-Konfigurationsdatei haben, können Sie den Postgres-Dienst starten und den Container ausführen. Verwenden Sie docker-compose up Befehl mit dem -d Option, um es in den Trennmodus zu versetzen (damit Sie weiterhin Befehle von der aktuellen Shell ausführen können):

docker-compose up -d

6. Sie können die Protokolle mit dem Befehl überprüfen:

docker-compose logs -f

Um zur Shell zurückzukehren, drücken Sie STRG+C .

Option 2:Führen Sie Postgres mit einem einzigen Docker-Befehl aus

Eine andere Möglichkeit, PostgreSQL in einem Container bereitzustellen, besteht darin, einen einzelnen Docker-Befehl auszuführen.

Sie können einen Postgres-Container herunterladen und ausführen, indem Sie alle erforderlichen Informationen in einem Befehl angeben.

docker run --name [container_name] -e POSTGRES_PASSWORD=[your_password] -d postgres

Der Befehl weist Docker an, einen neuen Container unter einem bestimmten Containernamen auszuführen, definiert das Postgres-Passwort und lädt die neueste Postgres-Version herunter.

Bestätigen Sie, dass Ihr PostgreSQL-Container jetzt aktiv ist, indem Sie Docker auffordern, alle laufenden Container aufzulisten mit:

docker ps

In diesem Leitfaden haben wir einen Container mit dem Namen example erstellt und wir können es schnell unter anderen laufenden Containern finden.

Beginnend mit Postgres-Containern

Mit Postgres im Docker-Container verbinden

Um einen Postgres-Container einzugeben, müssen Sie ihn mit dem Containernamen ausführen und psql aktivieren , die Befehlszeilenschnittstelle für Postgres.

docker exec -it [container_name] psql -U [postgres_user]

Im folgenden Beispiel haben wir eine Verbindung zum example hergestellt Container als postgres Benutzer.

Datenbank erstellen

Sobald wir uns im Docker Postgres-Container befinden, können wir eine Datenbank erstellen mit:

create database [db_name];

Verbinden Sie sich mit der Datenbank als Postgres-Benutzertyp:

\c [db_name]

Wenn die Datenbank eingerichtet ist, besteht der nächste Schritt darin, ein Schema zu erstellen, das Ihnen hilft, eine logische Darstellung der Datenbankstruktur zu erhalten:

create schema [db_schema_name]

Hier können Sie eine Tabelle erstellen und Daten in die Tabelle einfügen.

create table [table_name] ([field_names] [values])

Ubuntu
  1. So stellen Sie einen Nginx-Container mit Docker auf Linode bereit

  2. So installieren Sie Docker und stellen einen LAMP-Stack bereit

  3. So führen Sie MySQL in einem Docker-Container aus

  4. Wie man SSH in einen Docker-Container einfügt

  5. So stellen Sie PostgreSQL als Docker-Container bereit

So installieren Sie den Ubuntu 22.04 LTS-Container auf Docker

So installieren Sie PostgreSQL unter Debian 8

So führen Sie PHPMyAdmin in einem Docker-Container aus

So stellen Sie einen Docker-Container in AWS Elastic Beanstalk bereit

So stellen Sie einen Docker-MongoDB-Container bereit und verwalten ihn

So stellen Sie Docker-Container in Jelastic Cloud bereit