关于环境搭建(使用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

广告
将在 10 秒后关闭
bannerAds