Docker在控制台上没有给出错误但没有输出

时间:2020-02-27 04:58:35

标签: docker flask

嗨,我有一个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上。 但是,此链接仍无法从浏览器访问。

1 个答案:

答案 0 :(得分:0)

烧瓶默认在端口5000上运行。

尝试如下所述运行。

docker run -d -p 5000:5000 YOUR-FLASK-APPLICATION.

从链接下面复制以上命令,以防将来链接断开。

转到

的“更多信息”部分

https://runnable.com/docker/python/dockerize-your-flask-application