Edited at

勉強中に「ちょっと使い捨てのMySQLのデータベース欲しいな..」となったときのdocker-composeファイル

ドキュメント読んでる時とか、 ネットの記事を読んでいるとき、 「ちょっとこのコード試してみたいから使い捨てのデータベースサーバたてたいな..」となる時があると思います。

もちろんローカルでmysqldとか動かしていても良いと思いますが、ローカルのPCで要らないデーモンが動いているの嫌じゃないですか..?私は嫌です..。

そんな時にDockerで、docker-compose です。 Docker/docker-compose はインストール済とします。

私はWindowsで実施していますが、 wslでもネイティブなWindowsでも動くので、どこでも動くと思います。


docker-compose.yml

version: "3"

services:
db:
image: mysql:5.7
ports:
- "3306:3306"
environment:
MYSQL_DATABASE: playground
MYSQL_ROOT_PASSWORD: password
command: --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci


これ↑をちらっと書いてカレントディレクトリに置き、 docker-compose up -d でMySQLサーバが立ち上がります。

設定は見ての通りですが


  • (ローカルから見える)ポートは 3306

  • rootのパスワードは password

  • デフォルトで作られるDB名は playground

  • デフォルトで作られたDBのcharsetは utf8mb4 <= ここが書きたくてこの記事を書いた

で動いています。

勉強が済んで要らなくなったら docker-compose down で廃棄です。