サイトアイコン KOKENSHAの技術ブログ

一番分かりやすいdocker-composeで起動するRubyOnRailsの開発環境

Rubyが日本のまつもとゆきひろ(通称 Matz)さんが開発されている言語で

そのRubyを利用して、作られているウェブアプリケーションフレームワークが

RubyOnRailsです。

世界中大人気のウェブアプリケーションフレームワークで、日本もたくさんのベンチャー企業やスタートアップに採用されています。

私も複数の言語をアプリケーションを書いた経験がありますが、RubyOnRailsは比較的に触れる機会が少なかったのです。

しかし、こんな素晴らしい言語(Ruby)とこんな素晴らしいウェブアプリケーションフレームワーク(RubyOnRails)をやらないわけにも行けませんので

だいぶ前から、RubyOnRailsの基本を触ってみました。

しかし、自分のマシンが様々な開発環境が同居していて

その上、最近弊社(私)のところでほぼ全ての開発環境をDockerベースに移行しているため

RubyOnRailsもできればDockerベースの開発環境が欲しいなとずっと思って、ネット上、github上で漁って来ましたが、なかなか良さそうなものはなくて(いくつかがありましたが、多分自分が慣れていないのもあって、すんなり動かなかったり、エラーになったりして断念しました)

最近、1つ(私にとって)

一番分かりやすいdocker-composeで起動するRubyOnRailsの開発環境」を作ってくれるものを見つかったのです!

この喜びをぜひみなさんとシェアしたいと思いました!笑

こちらです!

https://github.com/bitnami/bitnami-docker-rails

目次

ステップ1:フォルダを作成

まず、下記のコマンドを実行します!

ターミナルで自分好きなところで、好きなフォルダを作って、そのフォルダに入ってください。

mkdir ~/myapp && cd ~/myapp

ステップ2:docker-compose.ymlファイルのダウンロード

curl -LO https://raw.githubusercontent.com/bitnami/bitnami-docker-rails/master/docker-compose.yml

そうすると、そのフォルダに

docker-compose.ymlファイルが作られます。

version: '2'

services:
  mariadb:
    image: 'bitnami/mariadb:latest'
    environment:
      - ALLOW_EMPTY_PASSWORD=yes

  myapp:
    tty: true # Enables debugging capabilities when attached to this container.
    image: 'bitnami/rails:latest'
    labels:
      kompose.service.type: nodeport
    environment:
      - DATABASE_URL=mysql2://mariadb/my_app_development
    depends_on:
      - mariadb
    ports:
      - 3000:3000
    volumes:
      - .:/app

中身は、上の通りになっています。データベースはMariaDBを使っていますね。(mySQLのフォーク)

bitnami/railsのdockerfileは

こちらです。https://github.com/bitnami/bitnami-docker-rails/blob/master/5/debian-9/Dockerfile

 

ステップ3:起動する

docker-compose up

初回は、dockerイメージをpullしたり、gemをインストールしたりするので、少し辛抱強く待ちましょう。

起動することで、アプリケーションの初期化もされています。

このようなファイル群が現れます。

2回目以降は比較的に早く起動できます。

これだけです!

簡単すぎて、感動しました!

ステップ4:ブラウザーで確認する

ブラウザーで http://localhost:3000を開いてみてください。

この画面が表示されたら、成功です!

本当に今まで、色々試したDockerベースのRubyOnRailsの開発環境の中で一番簡単でした!

もっと簡単なのがあれば、ぜひお教えいただければ幸いです。(Twitterのフォロー、DM大歓迎です!)

その他の開発時よく使うコマンド

rakeタスクの一覧を表示する

docker-compose exec myapp bundle exec rake -T

Railsの環境情報を表示する

docker-compose exec myapp bundle exec rake about

Railsのコンソールを表示する

docker-compose exec myapp rails console

ソースコードの自動生成

docker-compose exec myapp rails generate scaffold User name:string email:string

データベースのマイグレーション

docker-compose exec myapp bundle exec rake db:migrate

新しいRubygemを追加する

echo "gem 'httparty'" >> Gemfile
docker-compose restart myapp

まとめ

いかがですか?

これで、このdockerベースのRubyOnRailsの開発環境でRubyOnRailsの勉強が捗りそうですね!

他に詳細をこちらをご参照ください。

https://github.com/bitnami/bitnami-docker-rails

では!Happy Coding!

[amazonjs asin=”4774188832″ locale=”JP” title=”Ruby on Rails 5アプリケーションプログラミング”]

[amazonjs asin=”4774193976″ locale=”JP” title=”プロを目指す人のためのRuby入門 言語仕様からテスト駆動開発・デバッグ技法まで (Software Design plusシリーズ)”]

[amazonjs asin=”B07BHK5KX7″ locale=”JP” title=”プログラマのためのDocker教科書 第2版 インフラの基礎知識&コードによる環境構築の自動化”]

[amazonjs asin=”4839964580″ locale=”JP” title=”Dockerによるアプリケーション開発環境構築ガイド”]

 

モバイルバージョンを終了