У меня возникла некоторая проблема, когда я пытался развернуть мой образ Docker, содержащий простое оптимизированное приложение, на Heroku. Моя проблема в том, что я не могу получить доступ к своему Docker после развертывания. При ближайшем рассмотрении я обнаружил следующую ошибку:
Ошибка R10 (Тайм-аут загрузки) -> Веб-процессу не удалось привязать к $ PORT в течение 60 секунд после запуска
I исследовал и понял, что это связано с тем, что порт недоступен, поскольку Heroku динамически назначает номер порта.
Я убедился, что этого не произойдет, разместив следующий мой Dockerfile.
Dockerfile:
FROM python:3.7
COPY . /app
WORKDIR /app
RUN pip install streamlit
ENTRYPOINT ["streamlit","run", "--server.enableCORS", "false" ,"--server.port", "$PORT"]
CMD ["app.py"]
Теперь я могу видеть, что сетевой URL и Номер порта внешнего URL-адреса назначается Heroku, поскольку это не типичный номер 5901.
Но что меня озадачило, так это то, почему контейнер не может привязаться к заданному номеру порта Dynami c? Я думал, что приложение будет использовать указанный номер Dynami c?