Dockerでローカル開発用のMySQL DBを用意する

ローカルで開発を行う際、プロジェクト毎に独立したDBを使いたいのでDockerで立てる

config/database.yml

default: &default
  adapter: mysql2
  encoding: utf8mb4
  pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>
  username: root
  ? password
  host: 127.0.0.1
  port: 13306

docker-compose.yml

version: "3"
services:
  db:
    image: mysql:5.7
    volumes:
      - db:/var/lib/mysql
    ports:
      - 13306:3306
    environment:
      MYSQL_ALLOW_EMPTY_PASSWORD: "yes"

volumes:
  ? db
  • $ docker-compose up で立てて 127.0.0.1:13306 として使う
  • GUIクライアントからも接続可