Docker + Django + PostgreSQL + Heroku = Не удалось подключиться к $ PORT в течение 60 секунд - PullRequest
0 голосов
/ 03 мая 2019

Итак, я строю проект Dockerized Django и хочу развернуть его в Heroku, но у меня много проблем.Мои проблемы точно такие же, как в этом посте: Docker + Django + Postgres Add-on + Heroku

За исключением того, что я не могу использовать CMD python3 manage.py runserver 0.0.0.0:$PORT, так как яполучаю недопустимую пару пар портовМой журнал показывает следующее:

 System check identified no issues (0 silenced).
2019-05-03T11:38:47.708761+00:00 app[web.1]: May 03, 2019 - 11:38:47
2019-05-03T11:38:47.709011+00:00 app[web.1]: Django version 2.2.1, using settings 'loan_app.settings.heroku'
2019-05-03T11:38:47.709012+00:00 app[web.1]: Starting development server at http://0.0.0.0:8000/
2019-05-03T11:38:47.709014+00:00 app[web.1]: Quit the server with CONTROL-C.
2019-05-03T11:38:55.505334+00:00 heroku[router]: at=error code=H20 desc="App boot timeout" method=GET path="/" host=albmej-loan-application.herokuapp.com request_id=9037f839-8421-46f2-943a-599ec3cc6cb6 fwd="129.161.215.240" dyno= connect= service= status=503 bytes= protocol=https
2019-05-03T11:39:45.091840+00:00 heroku[web.1]: State changed from starting to crashed
2019-05-03T11:39:45.012262+00:00 heroku[web.1]: Error R10 (Boot timeout) -> Web process failed to bind to $PORT within 60 seconds of launch
2019-05-03T11:39:45.012440+00:00 heroku[web.1]: Stopping process with SIGKILL
2019-05-03T11:39:45.082756+00:00 heroku[web.1]: Process exited with status 137

Приложение работает локально через виртуальную среду и использует Docker, но только не в Heroku.Не уверен, что еще попробовать.Вы можете найти мой код по адресу: https://github.com/AlbMej/Online-Loan-Application

Возможно, у меня есть некоторые явные проблемы в моем Dockerfile или docker-compose.yml

1 Ответ

0 голосов
/ 06 мая 2019

Быстрое решение состоит в том, чтобы изменить ваш Procfile следующим образом:

web: python subfolder/manage.py runserver 0.0.0.0:$PORT

Это бы сработало, но имейте в виду, что вы используете сервер разработки в работе, что является действительно плохой идеей !Но если вы просто играете, это нормально.

Однако, если вы используете это как производственное приложение с реальными данными, вы должны использовать настоящий рабочий сервер.Тогда ваш Procfile будет выглядеть так:

web: gunicorn yourapp.wsgi --log-file -
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...