1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

ローカル開発用のデータベースをDockerで構成する際のおすすめボイラープレート

Last updated at Posted at 2024-03-17

こんにちは!学びと成長しくみデザイン研究所の斉藤です。
私は開発環境でDBを使用する際、よくDockerを使用しています。
Dockerを使用するとプロジェクト毎に異なる種類のDBやバージョンを簡単に切り替えることができて便利です。
今回はDocker-Composeの設定ファイルである compose.yaml のおすすめボイラープレートをご紹介します。

おすすめのGitHubリポジトリ

  • 特徴
    • RDB(MySQL, PostgreSQL, etc..)やNoSQL(redis, DynamoDB, etc..)など、様々な compose.yaml がある
    • compose.yaml のパスワードやポート番号などが .env で変数管理されている

試してみる

例としてmysqlのリポジトリを使ってみます。
※ Docker環境の構築に関しては触れません

  1. mysqlのディレクトリを開く

  2. compose.yaml.env.example をローカルへコピー&ペーストする

  3. .env.example.env へリネームし、DB_ROOT_PASSWORDpass にする

  4. 利便性向上のため compose.yaml 一部編集

    1. servicesadminer を追加し、DBをブラウザから操作できるようにする

      adminer:
        image: adminer:latest
        container_name: adminer
        ports:
          - 8080:8080
        depends_on:
          - mysql
        networks:
          - local
      
    2. デフォルトの認証方式である 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
      
  5. docker compose up

  6. ブラウザで http://localhost:8080 にアクセスして以下のように入力するとDBへアクセスできる

    サーバ の箇所は compose.yamlservices 名を入力します
    image001

さいごに

今回ご紹介したボイラープレートを使うことで、開発環境のセットアップ時間を削減し、様々なDB環境を容易に構築することができます。
ぜひこの機会に活用し、より快適な開発環境を実現してみてください。

1
1
0

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
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?