今天给大家分享下flask部署到docker的步骤,具体如下:
1,项目结构
2,Dockerfile文件代码
# 基于的基础镜像
FROM python:3.8
# 设置app文件夹是工作目录
WORKDIR /usr/src/app
# Docker 避免每次更新代码后都重新安装依赖
# 先将依赖文件拷贝到项目中
COPY requirements.txt /usr/src/app
# 执行指令,安装依赖
RUN pip install -r requirements.txt
# RUN pip install --no-cache-dir -r requirements.txt
# COPY指令和ADD指令功能和使用方式类似。只是COPY指令不会做自动解压工作。
# 拷贝项目文件和代码
COPY ./docker_test01 /usr/src/app
# 执行命令
CMD [ "python", "/usr/src/app/app.py" ]
app文件代码
from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello_world():
return 'Hello World!'
if __name__ == '__main__':
app.run(host="0.0.0.0", port=4000)
3,创建镜像
flask_demo_img为创建的镜像名称,. 表示当前目录(docker_test01项目根目录)
docker build -t flask_demo_img .
4,查看镜像是否创建成功
docker images
5,运行镜像,生成并启动容器
参数:-i :以交互模式运行容器,通常与 -t 同时使用;
-t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用;
--name flask_demo_cn: 为容器指定一个名称;
flask_demo_img:第三步创建爱的镜像的名称
-p : 指定端口映射,格式为:主机(宿主)端口:容器端口
docker run -it -p 5000:4000 --name flask_demo_cn flask_demo_img
6,浏览器中输入127.0.0.1:5000或者localhost:5000试试吧
需要注意的是:我们的flask程序host需要写"0.0.0.0",port是多少容器的端口就写多少,而我们向宿主机映射的端口与容器的端口可以不一致。
以上便是关于flask部署到docker,全网最详细的全部内容,更多内容可关注慕课网其他文章~