Я действительно не знаю, что я делаю. Я пытаюсь развернуть приложение Flask с Celery на Heroku, используя файл heroku.yml и Dockerfile.
Это мой файл heroku.yml:
build:
docker:
web: Dockerfile
worker: Dockerfile
run:
web: gunicorn main:app
worker: celery worker --app=main.celery
И вот мой Dockerfile:
# Start with a base image
FROM python:3-onbuild
# Copy our application code
WORKDIR /Users/Owner/Lukas Projects/gift-apis
COPY requirements.txt .
# Fetch app specific dependencies
RUN pip install --upgrade pip
RUN pip install -r requirements.txt
ADD . .
# Expose port
EXPOSE 5000
# start the app
CMD ["gunicorn", "main:app"]
На данный момент я не уверен, нужна ли мне даже команда в конце Dockerfile.
Так что в итоге я запускаю git pu sh heroku master
Я получаю эту ошибку:
run.worker process type does not specify an image, such as:
remote: run:
remote: worker:
remote: command:
remote: - celery worker --app=main.celery
remote: image: <IMAGE NAME>
remote: Verifying deploy...
Я не уверен, что ему нужно с точки зрения изображения ... поэтому я добавил работника строка в разделе docker файла yml. Я действительно не знаю, что я делаю на рабочем образе. Помогите! Или, если вы знаете лучший способ развертывания Flask с помощью Celery на Heroku с использованием образа Docker, я весь в ушах. Кроме того, если это имеет значение, я использую Redis.