Fig(docker Compose) で Rails する

追記

この内容は古いです、というか fig で建てるところまではコレでイケルと思いますが、実際には自分で fig で開発してないです。
フォルダの同期が以上に重たく、そのせいで rails console や server とかしても実用に耐えられないレベルのパフォーマンスしか出ないからです。
おそらく sync ディレクトリを変える、 rsync で送る、 イイ感じに出来たら pull する仕組みを創るなどすれば、うまくいくとは思いますが、
localhost での開発に慣れている場合、それはただの時間の浪費としか思えないと思います。
現在では開発環境として扱うのは難しいという判断に至りました(当然個人の感想です)。
参考までにrsync の記事も参照されると良いかもです。

メモ

ちなみに、 現在では、 fig は docker-compose になっている。
が、それに気づかず しばらく fig で進めた。

fig で rails は tutorial 通りでは動かなかった。
基本は tutorial にそってやったが、boot2docker 経由でやる場合に、
binding のあたりで、container 内からは呼べるけど、 boot2docker の中から呼べなくて、
その辺を修正した。
ちなみに、 postgresql がサンプルになっていたが、 mysql でやりたかったので適宜変更した。

fig.yml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
db:
  image: mysql:5.6
  ports:
    - "3306:3306"
  environment:
    - MYSQL_ROOT_PASSWORD=hogehoge

web:
  build: .
  command: bundle exec rails server --port=3000 --binding=0.0.0.0
  volumes:
    - .:/myapp
  ports:
    - "3000:3000"
  links:
    - db

fig run web rake db:create db:migrate

なぜか mysql に繋げなくなるパターンがあったが、
docker images でだした image を docker rmi で全て消してやり直したり、
それでも微妙だったので、 fig run db mysqld とかするといい感じになった。

所感

fig でやれたらよかったと思ったので、ちょっと時間がかかったけど、うまくできそうでよかった(小並感)

このエントリーをはてなブックマークに追加