srm*_*srm 7 python flask docker
我已经构建了一个包含简单Flask测试应用程序的Docker镜像:
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')
Run Code Online (Sandbox Code Playgroud)
使用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"]
Run Code Online (Sandbox Code Playgroud)
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
Run Code Online (Sandbox Code Playgroud)
我用它来运行它:
$ docker run -d -p 5000:5000 flask-app
e92b249dd02ca44489069b783fa9be713c7a14ea893061194e37c80f16d8c931
Run Code Online (Sandbox Code Playgroud)
我假设我可以通过指向浏览器来测试应用程序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
。进入后,wget
通过安装并通过加载希望下载的文件(后跟,或称为它的东西)来apt-get install wget
测试Web服务器是否从内部工作。wget http://localhost:5000
cat
ls
cat file.html
归档时间: |
|
查看次数: |
8373 次 |
最近记录: |