【问题标题】:Docker gives no error but no output on consoleDocker 没有给出错误,但控制台上没有输出
【发布时间】: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 和相关代码。
  • 提供了相关的编辑。谢谢!

标签: docker flask


【解决方案1】:

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

尝试如下运行。

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

从下面的链接复制上面的命令,以防将来链接失效。

转到

的“更多信息”部分

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

【讨论】:

    猜你喜欢
    • 2014-07-18
    • 2011-06-03
    • 1970-01-01
    • 1970-01-01
    • 2018-01-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多