Docked Rails CLIでRailsの開発環境を素早く構築する

はじめに

こんにちは。
GMOアドマーケティングの石丸(@thomi40)です。

前回はRails 7で追加されたComparisonValidatorについて紹介しました。

この記事は GMOアドマーケティング Advent Calendar 2022 3日目の記事です。はじめにこんにちは。GMOアドマーケティングの石丸(@thomi40)です。前回の記事では Rails 7 から実装された query_log_tags について紹介しました。今回の記事では同じく Rails 7 から追加された ComparisonValidator について紹介します。※記事内の画像は筆者が作成したアプリケーションをキャプチャーしたものです。ComparisonValidatorとはComparisonValidator は任意のオブジェクトの比較を行うバリデーターです。数値の比較には NumericalityV...


今回もRails関連のトピックとして、2022年12月に公開された Docked Rails CLI について紹介します。

Docked Rails CLIとは

Docked Rails CLI(Docked Rails)はDockerでRuby on Rails環境をセットアップするためのツールで、2022年の12月にRailsの公式からリリースされました。




Railsの環境構築の方法はいくつかありますが、初心者の方がmacOSなどのローカル環境に構築する場合、関連ツールのインストールや依存関係の解消に戸惑うことがあったり、Dockerを使った場合も Dockerfiledocker-compose.yml を自ら(もしくはWeb上の情報を参考に)作成する必要がありました。

今回紹介する Docked Rails CLI ではDocker環境さえあれば数分でRailsの環境を構築することが可能です。

依存関係にも悩まされることがないので、初心者の方に非常におすすめです。

Docked Rails CLI での環境構築方法

今回はmacOS Montereyで試しましたが、Docker環境さえあればWindowsやLinux環境でも同様の手順で構築することが可能です。

Docker Desktopは以下のリンクからインストールすることが可能です。
https://www.docker.com/get-started/

Docker Desktopのインストール後に以下のコマンドを実行します。

環境構築としては上記のたった2行のみです。

続いて、以下のコマンドでサンプル用のRailsアプリケーションの作成から起動まで行い、Railsアプリケーションの動作を確認してみます。

先ほど alias コマンドでDockerに関するコマンドを設定したため、シンプルなコマンドで migrate などのコマンドを実行することができます。

アプリケーションの動作確認のため、 http://localhost:3000/ にアクセスすると以下のようにデフォルトのページが表示されます。


2023年3月末現在では最新の Rails version: 7.0.4.3 で環境が構築されました。

最初のコマンド実行からRailsのサーバー起動までおよそ1分ほどで完了したので、環境構築としては最速クラスだと思います。

http://localhost:3000/posts にアクセスすればpostsに関する画面も確認することができます。

先ほどの例では rails generate scaffold コマンドを使って簡単なアプリケーションの雛形も作成しましたが、単にRailsのサーバーを起動したい場合は、以下のコマンドのみで環境構築からサーバー起動までの作業が完了します。

まとめ

今回はDocked Railsを利用したRuby on Railsの環境構築方法について紹介しました。

Docked Railsがリリースされた当初は少し話題になりましたが、ブログなどで紹介されている記事をほとんど見かけなかったため、今回の記事がDocked Railsを知るきっかけやRails学習のきっかけになると嬉しいです。

Docker環境さえあれば1〜2分ほどで環境構築ができるので、細かいバージョン指定や環境指定は一旦無視して「とりあえずRailsを試したい」「勉強のために最新のRailsの環境を簡単に構築したい」という場合にはかなり便利だと思います。

今回紹介した alias などのコマンドは今後更新される可能性もあるため、最新の情報は以下の参考リンクをご確認ください。

参考リンク

rails/docked: Running Rails from Docker for easy start to development (参照日: 2023/03/30)

Rails on Docker, local? environment inquirer and more! (参照日: 2023/03/30)