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 # 2. 利用Dockerfile创建镜像 # 创建名为django_docker_img_PetHomeServer的镜像,版本为v1 #sudo docker build -t django_docker_img_pethomeserver:v1 . # 查看创建的镜像 # sudo docker images # 3、利用镜像生成容器并后台运行,容器名为 pethomeserver #sudo docker run -it -d --name pethomeserver -p 8000:8000 django_docker_img_pethomeserver:v1 # 查看所有容器状态 #sudo docker ps # 4、进入容器 #sudo docker exec -it pethomeserver /bin/bash # 5、执行如下操作 #python3 manage.py makemigrations # 非必须执行,已经创建表的不用执行 #python3 manage.py migrate # 非必须执行,已经创建表的不用执行 #python3 manage.py runserver 0.0.0.0:8000