gpt4 book ai didi

python - 在 Docker 容器中运行 Flask 应用程序

转载 作者:IT老高 更新时间:2023-10-28 21:24:59 30 4
gpt4 key购买 nike

我已经构建了一个 Docker 镜像,其中包含一个简单的 Flask 测试应用程序:

from flask import Flask 

app = Flask(__name__)

@app.route("/")
def hello_world():
return "Hello World!"

if __name__ == "__main__":
app.run(debug=True,host='0.0.0.0')

使用 Dockerfile:

FROM ubuntu:latest
RUN apt-get update -y
RUN apt-get install -y python-pip python-dev build-essential
COPY . /app
WORKDIR /app
RUN pip install -r /app/requirements.txt
ENTRYPOINT ["python"]
CMD ["app.py"]

Docker 镜像是使用 docker build -t flask-app 构建的。 并且已经成功创建:

$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
flask-app latest fab0d79fd7ac 8 minutes ago 642.2 MB
ubuntu latest 104bec311bcd 5 weeks ago 129 MB

我已经使用:

$ docker run -d -p 5000:5000 flask-app
e92b249dd02ca44489069b783fa9be713c7a14ea893061194e37c80f16d8c931

我假设我可以通过将浏览器指向 http://localhost:5000/ 来测试应用程序,但我得到了超时。可能出了什么问题?

最佳答案

从这里看起来一切都很好。让我们做一些调试。

让我们从一个名称开始我们的容器:docker run -d -p 5000:5000 --name flask-app-test flask-app

您还可以避免使用 -d 标志并将日志直接显示在屏幕上。

首先检查 Flask 应用程序是否真的在运行,或者它是否已经崩溃。从一个简单的 docker ps 开始(看看你是否注意到那里有什么奇怪的东西),然后是 docker logs flask-app-test (这些将是 Flask 应用程序的日志,有它崩溃了?有什么奇怪的吗?)

如果到这里为止一切看起来都很好,那么是时候进入容器了。让我们试试 docker exec -ti flask-app-test bash。进入后,通过 apt-get install wget 安装 wget,然后通过执行 wget http://localhost:5000 测试网络服务器是否从内部工作 并通过 cat-ting 希望下载的文件(ls 后跟 cat file.html,或其他任何名称)。

关于python - 在 Docker 容器中运行 Flask 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41752405/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com