Запустите команду оболочки после запуска службы Gunicorn в контейнере Docker - PullRequest
0 голосов
/ 28 марта 2019

Я использую простое приложение Python Flask с использованием Gunicorn.Я хочу запустить службу Gunicorn, а затем запустить собственный сценарий оболочки после запуска службы.

Примерно так:

FROM python:3.6.5-slim

RUN apt-get update \
  && apt-get clean \
  && apt-get install -qq -y git build-essential libpq-dev --no-install-recommends \
  && rm -rf /var/lib/apt/lists/*

WORKDIR /app

COPY requirements.txt requirements.txt
RUN pip install -r requirements.txt

COPY . .

CMD ["entrypoint.sh"]

С целью запустить my_custom_script.sh после Gunicornслужба запускается (в настоящее время не будет работать):

#!/bin/sh

echo "Waiting for postgres..."
while ! nc -z postgres 5432; do
  sleep 0.1
done

echo "PostgreSQL started"
gunicorn -b 0.0.0.0:5000 manage:app

bash my_custom_script.sh

Сценарий просто создает базы данных, выполняет некоторые тесты и добавляет некоторые данные фактов.

...