📓

DockerでDjango+mysql環境の構築&プロジェクト作成

2022/05/07に公開

環境構築手順

  1. 適当なディレクトリを作成
  2. docker-compose.yml, dockerfile, requirements.txt を用意
$ touch docker-compose.yml Dockerfile requirements.txt
  1. それぞれのファイルに必要な項目を記載
requirements.txt
Django>=2.2.4
mysqlclient==1.4.6
dockerfile
FROM python:3.7
ENV PYTHONUNBUFFERED 1
RUN mkdir /code
WORKDIR /code
ADD requirements.txt /code/
RUN pip3 install -r requirements.txt
ADD . /code/
EXPOSE 8000
docker-compose.yml
version: ‘3’
services:
 web:
   container_name: "コンテナ名"
   build: .
   command: python3 manage.py runserver 0.0.0.0:8000
   working_dir: /code
   ports:
     — 8000:8000
   volumes:
     — .:/code
   depends_on:
     — db
 db:
   container_name: "コンテナ名"
   image: mysql:5.7
   restart: always
   environment:
     MYSQL_DATABASE: "データベース名"
     MYSQL_USER: root
     MYSQL_PASSWORD: password
     MYSQL_ALLOW_EMPTY_PASSWORD: ‘yes’
   volumes:
     — ./mysql:/var/lib/mysql
   ports:
     — 3306:3306

プロジェクトの作成手順

  1. ターミナルからdocker-composeコマンドを叩いてDjangoプロジェクトを作成
$ docker-compose run web django-admin startproject "プロジェクト名" .
  1. "プロジェクト名"/setting.pyのDATABASEを編集
"プロジェクト名"/setting.py
DATABASES = {
 'default': {
 'ENGINE': 'django.db.backends.mysql',
 'NAME': 'データベース名',
 'USER': 'root',
 'HOST': ‘db’,
 'POST': 3306
 }
}
  1. コンテナ起動
$ docker-compose up -d

参考

https://medium.com/@hokan_dev/docker-composeでdjango-mysqlの環境を作る-bd99cef7df0c

Discussion