Verwenden Sie docker-compose, um Tabellen in der postgresql-Datenbank zu erstellen.

Ich verwende docker-compose, um eine Multicontainer-Python-Flask-Webanwendung bereitzustellen. Ich habe Probleme beim Erstellen von Tabellen in der postgresql-Datenbank, sodass ich sie nicht manuell mit psql hinzufügen muss.

Meine docker-compose.yml-Datei lautet:

web:
  restart: always
  build: ./web
  expose:
    - "8000"
  links:
    - postgres:postgres
  volumes:
    - /usr/src/flask-app/static
  env_file: .env
  command: /usr/local/bin/gunicorn -w 2 -b :8000 app:app

nginx:
  restart: always
  build: ./nginx/
  ports:
    - "80:80"
  volumes:
    - /www/static
  volumes_from:
    - web
  links:
    - web:web

data:
  restart: always
  image: postgres:latest
  volumes:
    - /var/lib/postgresql
  command: "true"

postgres:
  restart: always
  image: postgres:latest
  volumes_from:
    - data
  ports:
    - "5432:5432"

Ich möchte nicht psql eingeben müssen, um Folgendes einzugeben:

CREATE DATABASE my_database;
CREATE USER this_user WITH PASSWORD 'password';
GRANT ALL PRIVILEGES ON DATABASE "my_database" to this_user;
\i create_tables.sql

Ich würde mich über eine Anleitung zum Erstellen der Tabellen freuen.

Antworten auf die Frage(6)

Ihre Antwort auf die Frage