docker构建Flask应用镜像

构建镜像的目录结构:

Dockerfile是docker构建文件

requirements.txt 是 src 文件夹里各个文件所需的相关模块。

src的目录结构:

 主要是 app.py 文件:下面是一个简单的demo

 1 from flask import Flask
 2 
 3 app = Flask(__name__)
 4 
 5 @app.route('/')
 6 def hello(): 
 7     return 'hello docker部署Flask'
 8     
 9 if __name__ == '__main__':
10     app.run(host="0.0.0.0")

Dockerfile:

docker对应的 Dockerfile 文件,注意这是一个文件,没有后缀,内容如下:

1 FROM python:3.7.5
2 
3 WORKDIR /app/src
4 COPY . /app
5 
6 RUN pip install -r /app/requirements.txt -i https://mirrors.aliyun.com/pypi/simple --trusted-host mirrors.aliyun.com
7 
8 CMD python app.py

FROM python:3.7.5 是基于哪个镜像源。

建议使用你本地用的python哪个版本就基于那个源。比如:我本地使用python3.6.8来开发项目,那这里就修改成 FROM python:3.6.8

将文件上传至服务器:

 

构建镜像:

在安装好docker环境下使用如下命令,记得要在有 Dockerfile 文件下 执行如下命令

docker build -t test:v1.0 .

test 是构建镜像的名称。

v1.0 是对应镜像的版本号。版本号可以自己随便定义。比如:1.1.0

要注意后面是有一个点的,然后就是等待构建完成了。

可能等待的时间会有点慢,最后可以使用命令 docker images 检查是否已经构建完成。

 

镜像构建完成后,就可以测试下构建的镜像是否成功。

运行镜像:

语法:docker run -itd -p 物理机端口:容器端口 镜像ID或镜像名称:tag

docker run -itd -p 2000:5000 test:v1.0

物理机端口:之后访问时所需要加上的端口

容器端口:原app.py中所定义的端口,默认是 5000

tag:构建镜像的版本号

docker ps 可查看当前正在运行的容器。

如果有上面的test:v1.0容器,说明已经运行成功。再然后浏览器访问:http://IP:2000/ 即可查看到 hello docker部署Flask

 

此笔记参考自xiaolong

 

原文地址:https://www.cnblogs.com/aze999/p/13597220.html