docker部署Django项目
1、项目结构:
PetHomeServer ├── Dockerfile ├── manage.py ├── PetHome │ ├── asgi.py │ ├── __init__.py │ ├── settings.py │ ├── urls.py │ └── wsgi.py ├── pip.conf #非必要,pypi源设置成国内源,加速pip安装 └── requirements.txt #项目依赖
2、准备工作:
创建一个名为 PetHome 的Django项目,并修改settings.py
ALLOWED_HOSTS = ['*']
3、编写Dockerfile
FROM python:3.6 MAINTAINER Aaron #设置环境变量 ENV PYTHONUNBUFFERED 1 #设置pip源为国内源 COPY pip.conf /root/.pip/pip.conf #在容器内/var/www/html/下创建 PetHomeServer 文件夹 RUN mkdir -p /var/www/html/PetHomeServer #设置容器内工作目录 WORKDIR /var/www/html/PetHomeServer #将当前目录文件加入到容器工作目录中(.表示当前宿主机目录) ADD . /var/www/html/PetHomeServer #利用pip安装依赖 RUN pip install -r requirements.txt
4、利用Dockerfile创建镜像
# 创建名为django_docker_img_PetHomeServer的镜像,版本为v1 sudo docker build -t django_docker_img_pethomeserver:v1 .
# 查看创建的镜像 # sudo docker images
5、利用镜像生成容器并后台运行,容器名为 pethomeserver
sudo docker run -it -d --name pethomeserver -p 8000:8000 django_docker_img_pethomeserver:v1 # 查看所有容器状态sudo docker ps
6、进入容器
sudo docker exec -it pethomeserver /bin/bash
7、运行Django项目
python3 manage.py makemigrations # 非必须执行,已经创建表的不用执行 python3 manage.py migrate # 非必须执行,已经创建表的不用执行 python3 manage.py runserver 0.0.0.0:8000
浏览器访问项目地址