よこやまの日記・ブログを自作する編

車輪の再開発でも自分専用ブログをつくるんや!

4日目:docker-composeでMySQLをたてる

docker-compose

まずはGraphQL APIのローカル開発環境を作成するためにMySQLをdocker-composeで設置。 とはいえ、何か調査したとかではなく既存の自作設定ファイルをコピーしてきただけ。

今日は疲れてるので、ここまで。(おい進捗🤪)

知っている人は知ってると思うけど、MySQLのDockerイメージ/docker-entrypoint-initdb.d/ディレクトリ配下に*.sqlファイルを置いておけば初回起動時に自動的にこのSQLに書かれたCREATE TABLE文で初期化してくれるんだよね。便利。

前回定義したSQLを元にテーブルが生成されていてありがたい

f:id:hiroyky:20200529023151p:plain

ただMySQLを設置するためだけのdocker-compose.yaml。パスワードがpassowrdでヤバい(ローカル開発環境なので) volumesのところで*.sqlファイルのあるディレクトリをマウントしてる。

version: '3'
networks:
  nikki-network:

services:
  mysql:
    image: mysql:8.0
    container_name: nikki_db
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: password
    volumes:
      - ./schema/:/docker-entrypoint-initdb.d/
    ports:
      - 3306:3306
    networks:
      - nikki-network

docker-composeの起動終了コマンドを覚えて毎回入力するのがツラいのでMakefileを作成した。 make devとコマンド打てば起動する

# Makefile

dev:
    docker-compose stop
    docker-compose build
    docker-compose up -d
    docker-compose ps

プルリク: github.com