TKC Works

ギジュツ的なメモ、読書感想文など

Dockerで作るシンプルなRails開発環境

ずっとローカル開発環境はVagrantを使っていましたが、Docker for Macがリリースされてからは徐々にDockerにしています。

コードはIDE等を使って書いたほうがいいと思っているのでVagrantのsynced_foldersを好んで使っていました。

Dockerの入門記事ではよくVagrantでVirturalBox上のUbuntuにDockerを入れて…とかやっているのが多くてなんか冗長というか、違和感がありました。

Docker for Macでは直接Dockerが使えるのでコンテナを--volumeオプションで起動するとsynced_foldersのようなことは出来るし、ホストとコンテナの間に余計なものがないのでだいぶスッキリしました。

設定ファイルは以下のようになりました。ほとんど公式のクイックスタートのままですが。 Quickstart: Compose and Rails

環境は以下の通りです。

  • Mac OS X 10.11.6
  • Docker 1.12
  • docker-compose 1.8.0

Dockerで作るシンプルなRails開発環境

Dockerfileとdocker-compose.ymlをRailsプロジェクトディレクトリ直下に置いて、 config/database.ymlのhost:mysqlに書き換えて、以下のコマンドでOK。 docker-composeで立ち上げるとdepends_onとかlinksで指定した名前で接続できるので便利。

docker-compose build
docker-compose up

Gemfileを書き換えた時はbuildからやり直しでちょっと時間がかかるけど、それ以外は不満はない。 あとコンテナサイズが大きくなりそうなんでDBのデータも外出ししておいた。