docker+gunicorn+gevent部署Django项目

1、生成requiremesnts.txt文件

执行 pip freeze > requirements.txt

2、编写gunicorn-config.py文件

from multiprocessing import cpu_count

bind = ["0.0.0.0:8521"]
# daemon = True
pidfile = 'logs/gunicorn.pid'

workers = cpu_count() * 2
wprker_class = "gevent"
worker_connections = 65535

keepalive = 60
timeout = 30
graceful_timeout = 10
forwarded_allow_ips = '*'

capture_output = True
loglevel = 'info'
errorlog = 'logs/error.log'

注: 在使用docker部署Django项目的时候,daemon不能赋值为True,原因暂未找到 

3、编写 Dockerfile

# 使用 Python 3.9 作为镜像的基础镜像
# FROM python:3.9
FROM server_management
# 设置工作目录
WORKDIR /data/mesCode/backEndCode/serverManagement
# 复制项目文件到镜像中
COPY .  /data/mesCode/backEndCode/serverManagement
# 安装项目依赖
# RUN pip install --no-cache-dir -i https://pypi.tuna.tsinghua.edu.cn/simple -r requirements.txt
RUN pip install -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple/
# 生成数据库
# RUN python manage.py makemigrations && python manage.py migrate
# 对外暴露的端口号
EXPOSE 8521
# 使用 Gunicorn 运行 Django 项目
CMD ["gunicorn", "-c", "/data/mesCode/backEndCode/serverManagement/serverManagement/gunicorn-config.py", "serverManagement.wsgi"]
#CMD ["gunicorn", "--bind", "0.0.0.0:8521", "serverManagement.wsgi"]

4、创建镜像

 docker build -t server_management_v1 .

 5、创建容器

docker run -itd --name serverManagementV1 -p 8521:8521 --restart=always -v .:/data/mesCode/backEndCode/serverManagement server_management_v1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值