Edited at

【Docker】Railsとmysqlをcomposeで動かすテンプレート

More than 1 year has passed since last update.


【Docker】Railsとmysqlをcomposeで動かすテンプレート


他テンプレート


やりたいこと


  • mysql と rails それぞれのコンテナーをdocker-composeがオーケストレーションして管理してくれるようにする


背景


  • 2年ほど前からdockerでサービスを動かしてきて、テンプレートシリーズを作りたいと思ってた


前提条件


  • 任意のgitリポジトリにrailsプロジェクトがある


使いどころ


  • ローカルのお試し開発環境で試すもよし

  • 本番でも有効なのかなと


試してみる


docker-compose.yml


  • いい感じに書き換える

  • もし、公式イメージをデフォのまま使いたいなら、imageを公式にしてpasswordとか設定すればいい

  • データの永続化はvolume-driverをコメントイン

#docker-compose.yml

app:
# image: my-rails
build: rails/
environment:
RAILS_ENV: development
ports:
- '3000:3000'
volumes:
- .:/usr/src/project_name
# volume_driver: convoy-gluster
command:
- bash
- -c
- RAILS_ENV=development bundle exec rails s -p 3000 -b '0.0.0.0'
links:
- db:db
db:
# image: mysql
build: mysql/
# stdin_open: true
# volumes_from:
# - data-mysql
ports:
- "3306:3306"
environment:
# MYSQL_ALLOW_EMPTY_PASSWORD: 'true'
# MYSQL_ROOT_PASSWORD: password
# MYSQL_DATABASE: test_db
# MYSQL_USER: user


  • docker-compose up


その他追加事項