使用docker-compose部署Django前后端分离项目

1. 打包开发环境中的后端项目镜像后端Django的Dockefile:FROM python:3.7RUN apt-get update \ && apt-get upgrade -y \ && apt-get -y install vim \ && mkdir -p /home/backend \ &...
摘要由CSDN通过智能技术生成

1. 打包开发环境中的后端项目镜像

后端Django的Dockefile:

FROM python:3.7

RUN apt-get update \
    && apt-get upgrade -y \
    && apt-get -y install vim \
    && mkdir -p /home/backend \
    && cd /home/backend \
    && mkdir static \
    && mkdir media \
    && mkdir logs \
    && rm -r /var/lib/apt/lists/*

ENV PYTHONUNBUFFERED 1

ENV ConfigPath "production"

WORKDIR /home/backend

COPY ./requirements.txt /home/backend

RUN pip install -r /home/backend/requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple \
    && rm -rf ~/.cache/pip \
    && rm -rf /tmp

COPY ./ /home/backend

CMD ["/usr/local/bin/daphne", "-b", "0.0.0.0", "-p", "8000", "--proxy-headers", "config.asgi:application"]

用python:3.7这种指定版本的镜像作为基础镜像,使用ubuntu系统,优点是环境全面、相对保险。但缺点是最终镜像的体积较大,后期可以改进为alpine版本;
更新镜像内的软件,新建backend目录用于存放django项目代码,并新建static、media、logs路径用于存放服务运行中产生的相应文件;
设置两个环境变量,一个用于python的缓存,一个用于指示当前运行环境;
将Dockerfile中之后的命令执行目录改为新建的项目目录;
先将项目依赖环境复制到项目目录中;
安装项目依赖环境,这一步占市较久,所以在复制项目代码前单独执行;
复制项目代码到镜像中;
使用daphne作为服务器启动服务。
构建镜像:

docker build -t backend:p0.0.1 .

2. 打包开发环境中的前端项目镜像

前端主要是静态文件和脚本,镜像相对简单。
在制作镜像前,需要向配置生产环境中的nginx,主要是docker-compose服务间的通信:
nginx.conf:

upstream apollo_spa {
        server project_django_web_1
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值