1、首先准备一个空文件夹,在这个文件夹下创建文件和文件夹
2、code为空文件夹,djgimg内保存了Dockerfike文件。
Dockerfile
FROM python:3.7 LABEL DESC="python3.7 django==2.2.10" RUN pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple django==2.2.10 pymysql && rm -rf ~/.cache/pip/ && sed -i "s/decode/encode/" /usr/local/lib/python3.7/site-packages/django/db/backends/mysql/operations.py EXPOSE 8000
docker-compose.yml
version: "3" services: web: image: djg:v2 build: ./djgimg volumes: - "./code:/code/" working_dir: "/code/bkstore" #要运行的django项目 command: python manage.py runserver 0.0.0.0:8000 networks: - backend ports: - "8080:8000" #运行端口 depends_on: - db #先把mysql运行起来, db: image: mysql:5.7 environment: - MYSQL_ROOT_PASSWORD=123456 - MYSQL_DATABASE=blstoredb volumes: - db_data:/var/lib/mysql networks: - backend volumes: db_data: {} networks: backend: {}
docker-compose命令: docker-compose config #检查文件是否正确 docker-compose ps #查看运行 docker-compose up #运行 docker-compose up -d #后台运行 docker-compose down #停止 docker-compose down -d #停止并删除卷 docker-compose logs #查看日志 docker-compose logs -f #查看动态日志
3、创建django项目到code文件夹中
# 创建项目 # 会创建一个叫web的镜像 docker-compose run -w "/code" web django-admin startproject bkstore #数据迁移 docker-compose run -w "/code" web python manage.py makemigrations docker-compose run -w "/code" web python manage,py migrate
4、其他配置
init:
一三行
settings.py
ALLOWED_HOSTS = [*] # 设置所有ip可访问 DATABASES={ # 数据库配置 'default':{ 'ENGINE': 'django.db.backends.mysql', 'NAME': 'blstoredb', #docker-compose.yml内对应 'USER': 'root', 'PASSWORD': '123456', 'HOST': 'db', #docker-compose.yml内 'PORT': 3306 } }
5、运行
docker-compose up -d