我們嘗試使用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