У меня есть приложение фляги, если для запуска сервера используется "python app.py", оно отлично работает.Клиент браузера может получить то, что я хочу.
Однако, если я использую Docker-контейнер, Если я использую ниже DockerFile:
FROM python:3.6.5-slim
RUN mkdir /opt/convosimUI
WORKDIR /opt/convosimUI
RUN pip install Flask
RUN pip install grpcio
RUN pip install grpcio-tools
ADD . .
EXPOSE 5000
ENV FLASK_APP=app.py
CMD ["python", "-u", "app.py"]
Браузер (в Windows) не может получить ответ от серверав контейнере linux все работает отлично, и я могу использовать wget для получения содержимого 127.0.0.1, но вне контейнера все содержимое контейнера недоступно.
Если я изменю строку lask в DockerFile на:
CMD ["flask", "run", "--host", "0.0.0.0"]
Не используйте python app.py, тогда он снова работает.
Почему это происходит?А как, если я хочу использовать команду python app.py?
Это потому, что в app.py есть какая-то другая параллельная обработка, которая мне нужна для совместного использования клиента другой службы, и этот клиент должен быть всегда включенпри включении веб-сервера.Поэтому я не могу просто поместить их в отдельное место.
Любые идеи приветствуются.Спасибо!