我们尝试使用docker-compose编排一个后端基于django,前端基于vue,数据库为postgresql并使用nginx进行反向代理的web工程。
工程准备
Docker
安装Docker
安装docker-compose
django
在python3.7的环境下创建
修改settings.py文件
修改
将静态文件收集路径添加进 ,笔者设置为static
添加 ,此项配置后 django 的 会在此路径下收集静态文件到 的路径中去。
另外,静态文件的处理笔者采用的是 whitenoise 的方案进行处理,所以需要在中间件中配置一下whitenoise的处理中间件。
同时设置
修改数据库信息(可选),针对实际使用的数据库进行配置,也可以采用django默认的sqlite,笔者此处演示了postgresql的简单配置
TEMPLATES下的DIRS配置为
配置views.py和urls.py将首页设为vue的index.html
vue
使用vue-cli3创建了一个简单的vue工程
配置 的静态文件目录到 dist/static 中
nginx
准备nginx的配置文件,进行端口转发的设置。
镜像和编排
我们先确定一下部署一个web工程所需要的环节:
按照流程图的顺序,我们编写一下Dockerfile和docker-compose.yml