部署Django框架
Django是一个开放源代码的web应用框架,用Python语言写成。在Python社区乃至整个开源社区都是鼎鼎有名的框架。实战Compose部署Django项目。
首先创建一个空的文件夹,文件名称默认就是项目名称,因此就取为web,然后在文件夹里面新建一个Dockerfile文件,用于构建Django应用的镜像。Dockerfile的内容并不复杂,按照传统开发Python的方式,首先需要一个Python基础镜像作为基础开发环境,我们这里选择Python 2.7:
保存后,再编写依赖文件requirements.txt文件。
保存requirements.txt文件,然后一个Django镜像的基本材料就到齐了。
现在还缺一份docker-compose.yml 来编排整个过程, 因此新建一个docker-compose.yml文件定义两个服务,一个是数据库(db),另一个是Django应用(app),数据库选择postgres,应用基于上面的Dockerfile构建:
保存docker-compose.yml文件,Compose定义工作,接下来就是利用Compose生成一个Django项目:
注意后面那个 .是命令的一部分表示当前上下文
不过,因为上面的Dockerfile中没有切换用户来执行创建项目 的动作, 默认使用窑器的root用户来创建, 所以现在我们看到的compose_example项目是属于root用户的,如果你想把项目目录的属性切换为你的用户所有,可以使用chown切换(仅限Linux平台,其他平台没有这个步骤):
chown -R $USER:$USER .
现在项目已经创建,就需要配置数据库了,打开compose_example/settings. py 文件,修改 DATABASES的内容如下:
完成以上的步骤, 你就已经完成运行前的全部工作了。 接着启动这个项目, Compose会启动两个容器并连接它们:
出现上图的原因是因为8000端口已经被使用了。
那只能删掉compose_example和manage.py文件重新构建了。
如果出现以上错误,是因为容器启动太快,数据库容器还没有准备好,所以连接不上。
可以挨个启动
访问其服务成功。
浏览器访问发现报错,这是防止http头部攻击安全措施。更改setting.py文件即可。
到这里就ok了,可以进行django开发web了。
原文链接:https://www.cnblogs.com/zcyy/articles/15768695.html