嗨,我有一个Flask应用,我正在docker上运行。 在运行该应用程序时,没有错误,但也没有输出。光标一直闪烁。背景发生了什么?如何查看日志?
编辑:
嗨 我有一个Flask-Docker应用程序。 如果我使用以下命令,则该应用在docker上运行良好:
app.run(debug=True, port=5000, host='127.0.0.1')
但是,如果我使用以下命令,Docker会卡住:
app_server = gevent.pywsgi.WSGIServer('0.0.0.0:5000', app)
app_server.serve_forever()
如果我在没有Docker的情况下运行,两者都可以正常运行。
DOCKERFILE:
FROM python:3.6
COPY . /root/
WORKDIR /root/
RUN pip install -r requirements.txt
EXPOSE 5000
CMD ["python","app.py"]
构建和运行命令:
docker image build -t prj .
docker container run --publish 5000:5000 --name clf clf
编辑2 我将dockerfile更改为此:
FROM python:3.6
RUN mkdir /code
ENV PYTHONPATH /code
WORKDIR /code
ADD . /code/
RUN pip install -r requirements.txt
EXPOSE 5000
ENTRYPOINT ["/bin/bash"]
CMD ["run.sh"]
我还添加了一个run.sh文件,其内容为:
flask run --host=127.0.0.1 --port=5000
并且正在使用WSGI服务器而不是我想要的app.run()。
控制台现在显示该应用程序按预期运行在127.0.0.1:5000上。 但是,此链接仍无法从浏览器访问。
答案 0 :(得分:0)
烧瓶默认在端口5000上运行。
尝试如下所述运行。
docker run -d -p 5000:5000 YOUR-FLASK-APPLICATION.
从链接下面复制以上命令,以防将来链接断开。
转到
的“更多信息”部分https://runnable.com/docker/python/dockerize-your-flask-application