Ruby on Rails7 をDockerで構築する

Rails7はHotwireに対応していたりなど、新しい機能が増えています。

viewがサーバー側に戻ってきたことは、新規サービスやPOC版などを作成するときには抜群に扱いやすいんじゃないかと思っています。

なので、今回はRails7をDocker alpine Linuxで動作するような環境を構築します。

具体的には、Dockerfileとそれに付随するファイルの作成です。

広告

Rails7 構築時の注意点

今回Railsで使用するrubyのバージョンはversion 3.0系を使用します。

2022/01時点では3.1が最新だったけどbundle installでコケるため調べたら現状では対応していなそう。

あと、Rails6系と違ってライブラリをとってくるときにgitを使用しているため、これまでのDockerfileだとエラーになってしまいました。たぶん依存先がまだ解決しきっていないような気がする。

pumaは4系から5系に上がっていて期待値が高い。

Rails7 用のDockerfile

Rails7用のDockerfileは下記。これを組み込めばとりあえず動作する環境をつくれる。Gemfile, Gemfile.lock, entrypoint.shは必要です。

docker buildでok.

docker run時の環境変数について

起動時には環境変数RUN_MODEを渡してあげる必要があります。

RUN_MODE=NO で開発用の状態になります。

Gemfile, Gemfile.lock, entrypoint.shについて

Gemfile, Gemfile.lock, entrypoint.shが必要って人がいれば、下記をとってきてください。

Gemfile

Gemfile.lock

entrypoint.sh

じゃあね〜〜〜。