Vorsichtsmaßnahmen beim Erstellen von PostgreSQL mit Docker-Compose

Was tun, wenn beim Versuch, PostgreSQL mit Docker-Compose zu erstellen, die folgende Fehlermeldung angezeigt wird?

Frühere Geschichte https://stackoverflow.com/questions/51168558/how-to-mount-a-postgresql-volume-using-aws-ebs-in-kubernete

postgres-db | initdb: error: directory "/var/lib/postgresql/data" exists but is not empty
postgres-db | It contains a dot-prefixed/invisible file, perhaps due to it being a mount point.
postgres-db | Using a mount point directly as the data directory is not recommended.
postgres-db | Create a subdirectory under the mount point.
postgres-db exited with code 1

Der Versuch, Daten in / var / lib / postgresql / data zu erstellen, ist fehlgeschlagen.

Die Lösung besteht darin, die Umgebungsvariable "PGDATA" anzugeben, um den Speicherort des Hauptteils der Datenbank anzugeben, der von "var / lib / postgresql / data" in "/ var / lib / postgresql / data / pgdata" geändert wird. Es besteht die Möglichkeit, dass es gelöst werden kann, indem es eine Ebene tiefer gemacht wird (pgdata kann ein anderer Name sein).

Im folgenden Beispiel stellt volume / postgres_root den Container / var / lib / postgresql / data, environment / PGDATA und / var / lib / postgresql / data / pgdata tiefer bereit. Erstellen Sie Daten am Standort. ..

20-10-23 beheben

volume: postgres_root: driver_opts: type: none scheint auf Mac und Windows nicht zu funktionieren, also behebe es

version: '3'
services:
  postgres:
    image: postgres:12.2
    environment:
      POSTGRES_USER: postgres
      POSTGRES_PASSWORD: 'pass'
      POSTGRES_DB: 'pg'
      PGDATA: /var/lib/postgresql/data/pgdata
    ports:
      - 5432:5432
    container_name: postgres-db
    volumes:
      - ./db/postgres:/var/lib/postgresql/data
      - ./db/logs:/var/log

Recommended Posts

Vorsichtsmaßnahmen beim Erstellen von PostgreSQL mit Docker-Compose
Vorsichtsmaßnahmen beim Ersetzen von Anführungszeichen durch gsub
[Java] Vorsichtsmaßnahmen beim Vergleichen von Zeichenfolgen mit Zeichenfolgen
Starten Sie k3s mit Docker-Compose
[Schienen] Vorsichtsmaßnahmen beim Vergleich von Datum und Uhrzeit mit DateTime
Ein Memorandum beim Erstellen eines REST-Service mit Spring Boot
Grobe Prozedur verbalisierte Ausgabe beim Erstellen einer App mit Rails
Zusammenfassung der ersten Arbeiten beim Erstellen einer App mit Rails
Vorsichtsmaßnahmen beim Generieren einer Tabelle mit einem zusammengesetzten Schlüssel mit Iciql + SQLite
So geben Sie db beim Erstellen einer App mit Rails an
Vorsichtsmaßnahmen bei der Verwendung von Mockito.anyString als Argument beim Verspotten mit Mockito
Führen Sie Batch mit Docker-Compose mit Java-Batch aus
Fehler beim Spielen mit Java
Docker-Compose Bereitstellung von Neo4j mit APOC
Ich habe UPSERT mit PostgreSQL ausprobiert.
[Rails] Vermeiden Sie das SELECT, das beim Erstellen eines Modells mit Gehört_zu Definiert ausgegeben wird!
Was ich getan habe, als die DB nicht mit Docker-Compose gestartet wurde
Benennungsregeln beim Erstellen neuer Controller und Modelle mit Schienen
Fügen Sie @GeneratedValue nicht unnötig hinzu, wenn Sie eine Entität mit JPA erstellen