flask部署:docker-compose+mongodb+gunciorn

1. 项目目录

在这里插入图片描述

2. dockerfile

# FROM:所构建镜像基于什么镜像,尽量小
FROM python:3.7
# WORKDIR:之后的shell语句是运行在哪个目录下
# 写的是要部署到服务器上的路径,如果这个镜像没有这个文件就会自动创建这个文件
ENV MY_HOME=/hetai
RUN mkdir -p $MY_HOME
WORKDIR $MY_HOME
# COPY:将当前宿主机的文件拷贝到镜像里面去
# 这里我们是把python安装的依赖requirements.txt拷贝到镜像里面去
COPY requirements.txt .
# RUN 执行shell命令,在构建的时候就会运行
# 这里是安装python依赖 并且后面加一个镜像源这样速度会快很多
RUN pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple/
# 复制当前目录到项目中的WorkDir中
COPY . .
# 第一个app是我们得flask得python文件名 第二个app为flask的应用名
ENTRYPOINT ["gunicorn", "index:app", "-c", "./gunicorn.conf.py"]

3. requirements.txt

click==8.0.3
colorama==0.4.4
Flask==2.0.2
itsdangerous==2.0.1
Jinja2==3.0.3
MarkupSafe==2.0.1
pymongo==4.0.1
Werkzeug==2.0.2
gunicorn
gevent

4. docker-compose.yaml

version: '3.8'
services:
  hetai_app:
    build: .
    ports:
      - "8088:8080"
    volumes:
    - .:/info
    depends_on:
      - my_mongo
  my_mongo:
    image: mongo
    restart: always
    ports:
      - "27017:27017"
    environment:
      MONGO_INITDB_ROOT_USERNAME: root
      MONGO_INITDB_ROOT_PASSWORD: zzz123

5. gunciorn.conf.py

workers = 5        # 定义同时开启的处理请求的进程数量,根据网站流量适当调整
worker_class = "gevent"  # 采用gevent库,支持异步处理请求,提高吞吐量
bind = "0.0.0.0:8080"   # 这里8080可以随便调整
  • 最后到服务器上直接在docker-compose.yaml的文件目录下运行docker-compose up就可以直接一键部署
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值