4日目:docker-composeでMySQLをたてる
docker-compose
まずはGraphQL APIのローカル開発環境を作成するためにMySQLをdocker-composeで設置。 とはいえ、何か調査したとかではなく既存の自作設定ファイルをコピーしてきただけ。
今日は疲れてるので、ここまで。(おい進捗🤪)
知っている人は知ってると思うけど、MySQLのDockerイメージは/docker-entrypoint-initdb.d/
ディレクトリ配下に*.sql
ファイルを置いておけば初回起動時に自動的にこのSQLに書かれたCREATE TABLE
文で初期化してくれるんだよね。便利。
ただ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