docker-composeでRails5.1.1環境開発環境構築

  • 2
    Like
  • 2
    Comment

ウェブ上のdocker+Railsの記事だけではうまくいかなかったので、備忘録としてメモ。

基本は下記のQuickStartをベースにすればOK

https://docs.docker.com/compose/rails/

だけど、いくつかポイントがあって、最後の

docker-compose run web rails new . --force --database=postgresql --skip-bundle

はいきなりやってもエラーでコケたので、上記実行前に

docker-compose build

しておくと良さげ。

そのままではbundlerのキャッシュが効かないのと、DBのデータが永続化されないので、
docker-compose.ymlを以下のように修正

version: '2'
services:
  db:
    image: postgres
    volumes:
      - ../pgdata:/var/lib/postgresql/data
  web:
    build: .
    command: bundle exec rails s -p 3000 -b '0.0.0.0'
    volumes:
      - .:/myapp
    ports:
      - "3000:3000"
    depends_on:
      - db
    volumes_from:
      - bundle

  bundle:
    image: busybox
    volumes:
      - /bundle

で、できました。

http://localhost:3000/

で確認。