Итак, я пытаюсь развернуть мое приложение для очистки Flask в Heroku с помощью heroku.yml. В локальной среде я использую docker -compose, и в основном у меня есть app.py и worker.py, которые я хочу запустить, и Redis (сейчас я не хочу использовать плагин, который предлагает Heroku - если это возможно из c?).
Это мой heroku.yml
build:
docker:
web: Dockerfile
worker: Dockerfile
run:
web:
command:
- python3 app.py
image: web
worker:
command:
- python3 worker.py
image: worker
redis:
image: redis
Мне постоянно возвращается это, когда я пытаюсь сделать пу sh
remote: Building source:
remote: === Fetching app code
remote:
remote: =!= There were problems parsing your heroku.yml. We've detected the following issues:
remote:
remote: run.worker.command needs to be in array format, such as:
remote: run:
remote: worker:
remote: command:
remote: - python3 worker.py
remote: image: web
remote: Verifying deploy...
remote:
Можете ли вы помочь мне с heroku.yml? Я написал хороший yml как docker -compose? Я написал хорошую часть Redis?
Ниже - мой Docker файл и Docker файл для создания.
Docker файл
FROM ubuntu:bionic
RUN apt-get update && apt-get install -y \
python3 python3-pip \
fonts-liberation libappindicator3-1 libasound2 libatk-bridge2.0-0 \
libnspr4 libnss3 lsb-release xdg-utils libxss1 libdbus-glib-1-2 \
curl unzip wget \
xvfb
# install geckodriver and firefox
RUN GECKODRIVER_VERSION=`curl https://github.com/mozilla/geckodriver/releases/latest | grep -Po 'v[0-9]+.[0-9]+.[0-9]+'` && \
wget https://github.com/mozilla/geckodriver/releases/download/$GECKODRIVER_VERSION/geckodriver-$GECKODRIVER_VERSION-linux64.tar.gz && \
tar -zxf geckodriver-$GECKODRIVER_VERSION-linux64.tar.gz -C /usr/local/bin && \
chmod +x /usr/local/bin/geckodriver && \
rm geckodriver-$GECKODRIVER_VERSION-linux64.tar.gz
RUN FIREFOX_SETUP=firefox-setup.tar.bz2 && \
apt-get purge firefox && \
wget -O $FIREFOX_SETUP "https://download.mozilla.org/?product=firefox-latest&os=linux64" && \
tar xjf $FIREFOX_SETUP -C /opt/ && \
ln -s /opt/firefox/firefox /usr/bin/firefox && \
rm $FIREFOX_SETUP
#Docker cache leverage
COPY ./requirements.txt /app/requirements.txt
WORKDIR /app
RUN pip3 install -r requirements.txt
COPY . /app
ENTRYPOINT [ "python3" ]
CMD [ "app.py" ]
Docker для создания
version: "3"
services:
web:
environment:
- LANG='C.UTF-8'
- LC_ALL='C.UTF-8'
build: .
restart: always
ports:
- "5000:5000"
worker:
environment:
- LANG='C.UTF-8'
- LC_ALL='C.UTF-8'
build: .
command: worker.py
shm_size: '2gb'
depends_on:
- redis
redis:
image: redis