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.