Here is my docker-compose file:
version: "3.7"
services:
db:
restart: always
image: postgres:14-alpine
environment:
POSTGRES_PASSWORD: postgres
POSTGRES_DB: dinopedia
volumes:
- postgres_data:/var/lib/postgresql/postgres/data
ports:
- 5432:5432
app:
restart: always
build:
context: .
dockerfile: Dockerfile
command: gunicorn --bind 0.0.0.0:8000 manage:app
# command: python3 app.py run --host=0.0.0.0 --port=8000
environment:
FLASK_APP: app.py
FLASK_ENV: docker
POSTGRES_HOST: db
POSTGRES_PORT: 5432
POSTGRES_DB: dinopedia
POSTGRES_USER: postgres
POSTGRES_PASSWORD: postgres
ports:
- 8000:8000
volumes:
- .:/app
depends_on:
- db
volumes:
postgres_data:
Here is the log:
dinopedia-app-1 | File "/usr/local/lib/python3.9/site-packages/sqlalchemy/util/compat.py", line 208, in raise_
dinopedia-app-1 | raise exception
dinopedia-app-1 | File "/usr/local/lib/python3.9/site-packages/sqlalchemy/engine/base.py", line 1819, in _execute_context
dinopedia-app-1 | self.dialect.do_execute(
dinopedia-app-1 | File "/usr/local/lib/python3.9/site-packages/sqlalchemy/engine/default.py", line 732, in do_execute
dinopedia-app-1 | cursor.execute(statement, parameters)
dinopedia-app-1 | sqlalchemy.exc.ProgrammingError: (psycopg2.errors.UndefinedTable) relation "colour" does not exist
dinopedia-app-1 | LINE 2: FROM colour
dinopedia-app-1 | ^
dinopedia-app-1 |
dinopedia-app-1 | [SQL: SELECT count(%(count_2)s) AS count_1
dinopedia-app-1 | FROM colour]
dinopedia-app-1 | [parameters: {'count_2': '*'}]
dinopedia-app-1 | (Background on this error at: https://sqlalche.me/e/14/f405)
sqlalchemy.exc.ProgrammingError: (psycopg2.errors.UndefinedTable) relation "colour" does not exist
But everything works fine with the other command:
command: python3 app.py run --host=0.0.0.0 --port=8000
What am I doing wrong?