Précautions lors de la création de PostgreSQL avec docker-compose

Que faire si vous obtenez l'erreur suivante lorsque vous essayez de créer PostgreSQL avec docker-compose

Ancienne histoire 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

La tentative de création de données dans / var / lib / postgresql / data a échoué.

La solution est de spécifier la variable d'environnement PGDATA pour spécifier l'emplacement de stockage du corps de la base de données, qui passe de la valeur par défaut / var / lib / postgresql / data à / var / lib / postgresql / data / pgdata. Il est possible que cela puisse être résolu en le rendant une couche plus profonde comme (pgdata peut être un autre nom).

Dans l'exemple suivant, volumes / postgres_root monte le conteneur / var / lib / postgresql / data, environment / PGDATA et / var / lib / postgresql / data / pgdata plus profondément. Créez des données dans l'emplacement. ..

20-10-23 correction

volumes: postgres_root: driver_opts: type: none ne semble pas fonctionner sur Mac et Windows, donc corrigez-le

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

Précautions lors de la création de PostgreSQL avec docker-compose
Précautions lors du remplacement des guillemets par gsub
[Java] Précautions lors de la comparaison de chaînes de caractères avec des chaînes de caractères
Démarrez k3s avec docker-compose
[Rails] Précautions lors de la comparaison de la date et de l'heure avec DateTime
Un mémorandum lors de la création d'un service REST avec Spring Boot
Sortie verbalisée de procédure approximative lors de la création d'une application avec Rails
Résumé du travail initial lors de la création d'une application avec Rails
Précautions lors de la génération d'une table avec une clé composite avec Iciql + SQLite
Comment spécifier la base de données lors de la création d'une application avec des rails
Précautions lors de l'utilisation de Mockito.anyString comme argument lors de Mocking avec Mockito
Exécuter un lot avec docker-compose avec Java batch
Erreur lors de la lecture avec java
Docker-compose déployer Neo4j avec APOC
J'ai essayé UPSERT avec PostgreSQL.
[Rails] Evitez le SELECT émis lors de la création d'un modèle avec appartient_to défini!
Ce que j'ai fait lorsque la base de données n'a pas démarré avec docker-compose up
Règles de dénomination lors de la création de nouveaux contrôleurs et modèles avec rails
N'ajoutez pas inutilement @GeneratedValue lors de la création d'une entité avec JPA