我有一个烧瓶应用程序,如果使用“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的内容,但在容器外,容器中的所有内容都无法访问。 / p>
如果我将DockerFile的lask行更改为:
CMD ["flask", "run", "--host", "0.0.0.0"]
不使用python app.py,然后再次使用。
为什么会这样?如果我想使用python app.py命令怎么办?
因为在app.py中有一些其他并行处理我需要共享另一个服务的客户端,并且在打开Web服务器时该客户端必须始终打开。所以我不能把它们放在不同的地方。
欢迎任何想法。谢谢!