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大歓迎です!)
これも!
dockerで開発環境は作りました!#rails #rubyonrails pic.twitter.com/oiJeB4Zr8D— 川島@ソフトウェア、Web、アプリ、IoT作るのが大好き (@kokensha_tech) 2018年8月3日
その他の開発時よく使うコマンド
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によるアプリケーション開発環境構築ガイド”]