はじめに
以前構築したDjango + MySQLのDocker環境について、コンテナの停止・削除(docker-compose down)を行なってもDBに保存したデータが消えないよう、データ永続化のための設定をdocker-composeに追記しました。
以前書いた環境構築の記事も更新済みです。
前提環境
PC: MacBook Air M2
OS: macOS Ventura Ver. 13.2.1
Homebrew: 4.0.9
Docker: 20.10.23
docker-compose: v2.15.1
設定内容
設定変更後のdocker-compose.ymlの内容は次の通りです。
docker-compose.yml
version: '3.9'
services:
db:
container_name: mysql
image: mysql
restart: always
environment:
MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD}
MYSQL_DATABASE: ${MYSQL_DATABASE}
MYSQL_USER: ${MYSQL_USER}
MYSQL_PASSWORD: ${MYSQL_PASSWORD}
TZ: 'Asia/Tokyo'
command: mysqld --character-set-server=utf8 --collation-server=utf8_unicode_ci
volumes: #追記
- db_data:/var/lib/mysql
django:
container_name: django
build: .
command: python manage.py runserver 0.0.0.0:8000
volumes: #追記
- .:/code
ports:
- "8000:8000"
depends_on:
- db
volumes: #追記
db_data: