【发布时间】:2020-02-27 15:24:56
【问题描述】:
您好,我有一个在 docker 上运行的 Flask 应用程序。 在运行该应用程序时,我没有收到任何错误,但也没有输出。光标一直闪烁。后台发生了什么?如何查看日志?
编辑:
嗨 我有一个 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 上运行。 但是,浏览器仍然无法访问此链接。
【问题讨论】:
-
您能否发布您的 dockerfile 以及您如何构建和运行您的容器?
-
这里没有人是上帝。分享 Dockerfile 和相关代码。
-
提供了相关的编辑。谢谢!