使用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

开始使用

普通环境:windows

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

Docker启动:bash

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镜像:tcp

  1. 打开配置 pycharm > File > Settings > Project > Project Interpreter
  2. 选择镜像
    修改原Run配置:
  3. 打开原Run配置(和使用本地环境的配置同样,再也不赘述)
  4. 选择刚才添加的镜像,下面三个复选框保持下图同样
  5. 上一步选择镜像后下面会出现Docker container settings:
  6. 点开进行编辑,能够看到此时已经有了Volume bindings,还须要一个端口映射
  7. 再次Run就已是从容器中启动了(能够看到容器ID),使用Debug启动也是能够的
  8. 底部还有个选项卡,此能够一键打开Django shell

问题

Q:使用Python Console打开django shell报错,错误示例:ui

ModuleNotFoundError: No module named 'cms'

A:Pycharm > Settings > Build, Execution, Deployment > Console > Django Console 勾选以下两项,从新打开底部Python Console便可
3d

相关文章
相关标签/搜索