こんにちは!学びと成長しくみデザイン研究所の斉藤です。
私は開発環境でDBを使用する際、よくDockerを使用しています。
Dockerを使用するとプロジェクト毎に異なる種類のDBやバージョンを簡単に切り替えることができて便利です。
今回はDocker-Composeの設定ファイルである compose.yaml
のおすすめボイラープレートをご紹介します。
おすすめのGitHubリポジトリ
- 特徴
- RDB(MySQL, PostgreSQL, etc..)やNoSQL(redis, DynamoDB, etc..)など、様々な
compose.yaml
がある -
compose.yaml
のパスワードやポート番号などが.env
で変数管理されている
- RDB(MySQL, PostgreSQL, etc..)やNoSQL(redis, DynamoDB, etc..)など、様々な
試してみる
例としてmysqlのリポジトリを使ってみます。
※ Docker環境の構築に関しては触れません
-
mysqlのディレクトリを開く
-
compose.yaml
と.env.example
をローカルへコピー&ペーストする -
.env.example
を.env
へリネームし、DB_ROOT_PASSWORD
をpass
にする -
利便性向上のため
compose.yaml
一部編集-
services
にadminer
を追加し、DBをブラウザから操作できるようにするadminer: image: adminer:latest container_name: adminer ports: - 8080:8080 depends_on: - mysql networks: - local
-
デフォルトの認証方式である
caching_sha2_password
だとTLSによる保護がされていない通信はエラーになり、他のホストのSQLクライアントから接続できないため、mysql_native_password
に変更する# Use mysql_native_password instead of caching_sha2_password command: "--default-authentication-plugin=mysql_native_password" # ↑ コメントアウトされている箇所を有効にすればOK
-
-
docker compose up
-
ブラウザで
http://localhost:8080
にアクセスして以下のように入力するとDBへアクセスできる
さいごに
今回ご紹介したボイラープレートを使うことで、開発環境のセットアップ時間を削減し、様々なDB環境を容易に構築することができます。
ぜひこの機会に活用し、より快適な開発環境を実現してみてください。