LoginSignup
2
1

More than 1 year has passed since last update.

DBFluteハンズオン用データベースをDocker composeで起動する

Last updated at Posted at 2021-07-25

目的

DBFluteハンズオン用データベースの構築を簡単にするため、Docker composeでMySQLを構築する方法をメモしておきます

環境

MacBook Pro 2019年モデル。
CPUはIntel Core i9, OSはMac OS Catalinaです。

M1 MacでもBig SurでもないのでDockerの利用には特に問題ない状態です。

作ったもの

docker-compose.yml

version: '3.1'

services:

  db:
    image: mysql:8.0.26
    restart: always
    environment:
      MYSQL_ALLOW_EMPTY_PASSWORD: "yes"
      MYSQL_TCP_PORT: 43376
    volumes:
      - ./my.cnf:/etc/mysql/conf.d/my.cnf
      - ./mysql/data:/var/lib/mysql
    ports:
      - 43376:43376

ポイント

DBFluteハンズオンに合わせた設定をしています

docker-compose.ymlの配置先

DBFluteハンズオンのMySQL配置先は dbflute-hands-on/localdb/mysql 直下にしました。

Docker composeの慣例的にはプロジェクトルート直下が多い気がします。

MySQLのポートを43376に変更

MYSQL_TCP_PORT: 43376ports: - 43376:43376 の部分

共通化のため実際は .env に設定したほうがいいでしょう。今回はハードコードしています

ハンズオン用のmy.cnfを読み込む

MySQLのDockerイメージの公式を参考に指定しています

データフォルダを指定

data フォルダを作成して localdb/mysql/data を指定

rootユーザのパスワードはいったんなしで

MYSQL_ALLOW_EMPTY_PASSWORD: "yes"

パスワードは必須の方が良いのでしょうが、初期構築上なしにしています

参考

2
1
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1