使用Docker開發Django項目

背景

當多個Python項目且某些包沒法兼容時,一般咱們使用虛擬環境便可解決。python

可是在團隊中多個環境其實相對比較固定了,較少變動,若是換電腦或者新人加入須要從新一個一個配置虛擬環境並安裝相應的包,會耗費不少時間,並且因爲從新安裝的包依賴可能會有版本變動致使各類離奇問題。linux

但事實上Docker不單單隻能用於線上應用部署,咱們的開發、調試環境也可使用。docker

下面以Django項目來舉例,爲了說明方便此處有如下前提條件和假設:shell

  1. 基礎Docker已經安裝且可用
  2. Docker已經暴露了遠程訪問地址(使用Pycharm須要),具體方法請自行查閱文檔或教材,假如爲tcp://localhost:2375
  3. Docker基本命令再也不詳述
  4. Docker的Django環境鏡像已經作好,爲:myimage
  5. Django代碼目錄爲d:\demo
演示環境爲Windows 10(因爲Docker集成緣由,本文不適用於windows 10以前版本系統),linux和mac os可能稍有差異

開始使用

普通環境:django

python d:\demo\manage.py runserver 0.0.0.0:8000

Docker啓動:windows

docker run -it --name demo -v d:\demo:/code -p 0.0.0.0:8000:8000 myimage python /code/manage.py runserver 0.0.0.0:8000

在Pycharm中無縫使用

添加Docker鏡像:bash

  1. 打開配置 pycharm > File > Settings > Project > Project Interpreter

  1. 選擇鏡像


修改原Run配置:tcp

  1. 打開原Run配置(和使用本地環境的配置同樣,再也不贅述)

  1. 選擇剛纔添加的鏡像,下面三個複選框保持下圖同樣

  1. 上一步選擇鏡像後下面會出現Docker container settings:

  1. 點開進行編輯,能夠看到此時已經有了Volume bindings,還須要一個端口映射

  1. 再次Run就已是從容器中啓動了(能夠看到容器ID),使用Debug啓動也是能夠的

  1. 底部還有個選項卡,此能夠一鍵打開Django shell

問題

Q:使用Python Console打開django shell報錯,錯誤示例:ui

ModuleNotFoundError: No module named 'cms'

A:Pycharm > Settings > Build, Execution, Deployment > Console > Django Console 勾選以下兩項,從新打開底部Python Console便可
spa

相關文章
相關標籤/搜索