docker を使って django + mysql の環境を作る
dockerを使ってdjango+mysqlの環境を作る
参考:
・docker-composeでDjango + MySQLの環境を作る
・DockerでDjangoを動かしてみる
・クィックスタート: Compose と Django
ファイルを作成する
【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
【requirements.txt】
Django>=2.2.4
mysqlclient==1.4.6
【docker-compose.yml】
version: '3'
services:
web:
container_name: django_container
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: mysql_container
image: mysql:5.7
restart: always
environment:
MYSQL_DATABASE: django_database
MYSQL_USER: root
MYSQL_PASSWORD: password
MYSQL_ALLOW_EMPTY_PASSWORD: 'yes'
volumes:
- ./mysql:/var/lib/mysql
ports:
- 33306:3306
コンテナを起動させてプロジェクトを作成する
docker-compose run --rm web django-admin startproject django_project .
djangoコンテナからmysqlコンテナに接続する
settings.pyを下記の通りに書き換える。
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'django_database',
'USER': 'root',
'HOST': 'db',
'PORT': 3306,
}
}
docker-compose upでローカルサーバーを起動する
docker-compose up -d
ディスカッション
コメント一覧
まだ、コメントがありません