
本文采用直接创建DJANGO项目镜像的方式部署,若使用NGINX可参考此文:
Centos8.2下使用Docker-Compose+uWSGI+NGINX部署Django+Vue-cli项目
环境说明:腾讯云CentOS8.2-Docker20,docker pull python和NGINX镜像
准备python环境:yum install python36
此方法创建的是python镜像。
Docker是一个用来构建镜像的文本文件,文本内容包含了一条条构建镜像所需的指令和说明。
Docker读取文件的命令来组件镜像。
# 从仓库拉取 带有 python 3.6 的 Linux 环境 FROM python:3.6 # 设置环境变量 ENV PYTHONUNBUFFERED 1 # 在根目录新建一个code文件夹,工程代码放在这里面 RUN mkdir /code # 工作目录切换到code目录下 WORKDIR /code # 升级pip RUN pip install pip -U # 依赖的文件从宿主机加载到docker容器中 ADD requirements.txt /code/ # 从清华的镜像安装依赖的python包 RUN pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple # 把本目录所有的文件拷到容器中 ADD . /code/ # 开放容器的8000端口,允许外部连接这个端口 EXPOSE 8000 # 启动命令 # CMD["python","manage.py","runserver","0.0.0.0:8000"]3、制作镜像
此命令需在Dockerfile所在目录下执行
docker image build -t djtest:v1.0 .4、创建容器,启动项目
使用djtest镜像创建容器,启动项目,使用Windows访问项目
docker run -itd --name djtest -p 8000:8000 djtest:v1.0 docker exec -it djtest /bin/bash # 进入容器 python manage.py runserver 0.0.0.0:8000 # 使用django内部的web服务器启动二、缺陷记录