Docker/构建Django应用
容器
操作环境说明:
- 操作系统MacOS
- Django3.1
- Drf 3.x
创建一个Django项目
请在本机创建
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 请求顺序是这样的
urls-> views-> serializers -> models
所以我们的编码规范是
- 创建数据模型
- 创建视图
- 序列化对象
- URL配置
- MIgrate
- 运行程序
Dockerfile
流程
- 后端
- 前端
- 服务(
Nginx
)
使用Docker Compose运行Docker容器。使用这种方法,每个服务将彼此完全隔离。所有相关的代码、配置和Dockerfiles都将在它们的相关文件夹中。这样做的好处是,如果需要,您可以将前端和后端部署到不同的服务器上,只需做很少的更改。
在项目根目录创建Dockerfile文件。
# 下载镜像
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