关于环境搭建(使用docker-compose搭建Django和MySQL)
首先
这次我将介绍我常用的django+MySQL环境的搭建。
对环境有所要求
假设已经安装了Docker和docker-compose。
在構建環境之前的步驟
以下是环境构建的步骤流程。只需按照这三个步骤进行,就能完成环境搭建。
• 文件准备
• 创建项目
• 启动服务
文件准备
以下是需要准备的三个文件。请把它们放入一个目录中。
FROM python:3
ENV PYTHONUNBUFFERED 1
RUN mkdir /code
WORKDIR /code
COPY requirements.txt /code/
RUN pip install --upgrade pip && pip install -r requirements.txt
COPY . /code/
version: '3'
services:
db:
image: mysql:5.7
environment:
MYSQL_ROOT_PASSWORD: root
MYSQL_DATABASE: django-db
MYSQL_USER: django
MYSQL_PASSWORD: django
TZ: 'Asia/Tokyo'
command: mysqld --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
web:
build: .
command: python3 manage.py runserver 0.0.0.0:8000
volumes:
- .:/code
ports:
- "8000:8000"
depends_on:
- db
Django==3.1 # Django3.1
mysqlclient # pythonでMySQLに接続するためのドライバ
sqlalchemy
创建项目
在存放已创建文件的目录中移动,并在终端上执行以下命令。
docker-compose run web django-admin.py startproject djangopj .
-
- プロジェクトが開始されたことを確認したら、djangopj/settings.pyを開き、DATABASESの項目を編集します。
- → djangoプロジェクトの作成をした際、settings.pyにはsqliteの設定がデフォルトでされている為です。
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'django-db',
'USER': 'django',
'PASSWORD': 'django',
'HOST': 'db',
'PORT': '3306'
}
}
服务的启动
在存放docker-compose.yml文件的目录中执行以下命令
docker-compose up
http://localhost:8000/ にアクセスしてDjangoのトップページが表示されたらOK