Я бы добавил скрипт bash, содержащий команды, которые вы хотите запустить во время запуска, и использовал бы его в качестве точки входа по умолчанию в вашем образе.Обычно рекомендуется вызывать этот сценарий entrypoint.sh
#!/usr/bin/env bash
python manage.py db upgrade
flask run --host=0.0.0.0
А затем в вашем Dockerfile замените последнюю строку следующей
RUN chmod u+x ./entrypoint.sh
ENTRYPOINT ["./entrypoint.sh"]
Если вы хотите запустить обновлениекоманда только в Docker compose, вместо того, чтобы изменить точку входа по умолчанию на изображении, вы можете просто переопределить ее в файле compose, как это
web:
links:
- "db"
build: .
ports:
- "5000:5000"
volumes:
- .:/code
depends_on:
- db
entrypoint: /code/entrypoint.sh
env_file:
- .env