如何使用Docker部署django项目?
在公司我写了一个用于监控爬虫的django项目,为了部署和测试方便,我采用了使用docker来部署,
我在使用docker部署稍大一点的项目时会先创建一个基础镜像。
如: scrapy爬虫会先建立一个scrapy镜像, django先创建一个django镜像
先创建Django的基础镜像
创建一个文件夹 test1(随意) 里面放两个文件 Dockerfile , requirements.txt 两个文件
Dockerfile
FROM python:3.5 # python环境
# 将当前目录内的文件添加到 docker /usr/src/app
ADD . /usr/src/app
# 创建时安装requirements.txt 包
RUN pip install -r /usr/src/app/requirements.txt
requirements.txt # 自己业务需要的包
Django==2.1.7
PyMySQL==0.9.3
redis
......
然后在test1 目录下执行
docker build -t django:v1.0 .
django 的基础镜像完成
创建web项目镜像
项目的基本结构
Dockerfile # 我这里写最最简化的方式
FROM django:v1.0
ENV RUN_MODE=DEPLOY
ADD . /myweb
WORKDIR /myweb
CMD python manage.py runserver 0.0.0.0:8000
生成镜像 在spider_monitor 目录下
docker build -t myweb:v1.0 .
挂载数据卷的形式开启容器
还是在spider_monitor 目录下, 也可以是项目的绝对路径
docker run -d --name web_test -v $pwd:/myweb -p 8080:8000 myweb:v1.0
这样就可以 通过对宿主机中项目的更改, 实现同步到容器
可以访问http://127.0.0.1:8080 看是否成功?