Docker/构建Django应用
2020 年 9 月 4 日 星期五(已编辑)
这篇文章上次修改于 2020 年 11 月 8 日 星期日,可能部分内容已经不适用,如有疑问可询问作者。
操作环境说明:
操作系统MacOS
Django3.1
Drf 3.x
请在本机创建
django-admin startproject demo
python3 -m venv venv
然后激活虚拟环境
source venv/bin/activate
在项目根目录创建requirements.txt
或者自动生成文件
pip freeze > requirements.txt
pip install django
pip install djangorestframework
pip install django-cors-headers
pip install gunicorn
在编码时候,通过DRF 请求顺序是这样的
所以我们的编码规范是
流程
前端
服务(Nginx
)
使用Docker Compose运行Docker容器。使用这种方法,每个服务将彼此完全隔离。所有相关的代码、配置和Dockerfiles都将在它们的相关文件夹中。这样做的好处是,如果需要,您可以将前端和后端部署到不同的服务器上,只需做很少的更改。
在项目根目录创建Dockerfile文件。
构建镜像
urls-> views-> serializers -> models
# 下载镜像
FROM python:3.7.4-alpine3.10
MAINTAINER Taoya7<569781231@qq.com>
# 拷贝项目至容器内 确定工作目录
ADD . /usr/src/app
# 设置默认工作目录
WORKDIR /usr/src/app
# 安装项目依赖
RUN pip install -r requirements.txt
# 暴露端口
EXPOSE 8000
# 运行
CMD python manage.py makemigrations
CMD python manage.py migrate
CMD python manage.py runserver 0.0.0.0:8000
docker build -t taoya/django .
(venv) ➜ docker run -d -p 8000:8000 --name idjango taoya/django