rails new
するときにDockerfileを使う必要は特にない。
むしろ開発時に使うDockerfileとは別物になるので、Dockerfileを作らない方が良いです。
コマンド
$ mkdir example_app $ cd example_app $ docker run --rm -v $(pwd):/app -w /app ruby:3.0.0 bash -c '\ curl -fsSL https://deb.nodesource.com/setup_14.x | bash - \ && apt-get update && apt-get install -y git nodejs \ && npm install -g yarn \ && gem i --no-document rails \ && rails new .'
解説
--rm
一時的な実行でコンテナを残しておく必要がないのでつけてる。
-v $(pwd):/app -w /app
ホストPCのディレクトリをコンテナ内の /app
にマウントし、そのディレクトリを作業ディレクトリに指定する。
curl -fsSL https://deb.nodesource.com/setup_14.x | bash - \
&& apt-get update && apt-get install -y git nodejs \
&& npm install -g yarn \
rails new
すると自動的にbundle install
やyarn install
が実行されるため、必要になるパッケージの類いを追加する。
railsのgemを追加した後、rails new .
で作業ディレクトリ(/app)にファイルを作成する。
開発環境で使うDockerfileについて
開発時に使うDockerfileとdocker-compose.ymlは前回に記事を書いてある。
最後に
たぶんRubyを入れて、普通に rails new
した方が楽だと思う。