Docker Compose for Rails + MySQL

Created by admin@example.com on March 28, 2025

1
version: '3.8'
2
3
services:
4
  db:
5
    image: mysql:8.0
6
    restart: always
7
    environment:
8
      MYSQL_ROOT_PASSWORD: password
9
      MYSQL_DATABASE: myapp_development
10
      MYSQL_USER: myapp
11
      MYSQL_PASSWORD: password
12
    ports:
13
      - "3306:3306"
14
    volumes:
15
      - db_data:/var/lib/mysql
16
  
17
  web:
18
    build: .
19
    command: bash -c "rm -f tmp/pids/server.pid && bundle exec rails s -p 3000 -b '0.0.0.0'"
20
    volumes:
21
      - .:/app
22
    ports:
23
      - "3000:3000"
24
    depends_on:
25
      - db
26
    environment:
27
      DATABASE_URL: mysql2://myapp:password@db:3306/myapp_development
28
29
volumes:
30
  db_data: