3
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Rails 8.0.0 のアプリケーションをDocker環境で起動する

Last updated at Posted at 2024-11-10

この状態を目指します。
Ruby_on_Rails_8_0_0.png

準備

VSCodeに Dev Containers拡張機能をインストールしておきます。
筆者のVSCodeは言語設定を日本語にしてあります。

rails-new コマンドをインストール

Docker環境前提ですが、このコマンドを使えばPCにRubyやRailsをインストールしなくても、新しいRailsアプリケーションを作れます。
rails-new blog --devcontainer のように使います。
コマンドが使えるかどうかはrails-new helprails-new -Vで確認できます。

具体的な手順
https://github.com/rails/rails-new/releases
↓
Assets
↓
私はApple M3なので rails-new-aarch64-apple-darwin.tar.gz をダウンロード(場所は~/Downloads)
↓
解凍
↓
実行ファイルを/usr/local/bin/に移動
sudo mv ~/Downloads/rails-new /usr/local/bin/
↓
rails-new help
↓
エラー
“rails-new”が悪質なソフトウェアかどうかをAppleでは確認できないため、このソフトウェアは開けません。
↓
「システム設定」→「プライバシーとセキュリティ」でrails-newをなんとかして許可
↓
rails-new help
↓
helpが表示!(下記)


A CLI tool to generate a new Rails project

Usage: rails-new [OPTIONS] <ARGS>...
       rails-new [OPTIONS] [ARGS]... <COMMAND>

Commands:
  rails-help  Prints `rails new --help`
  help        Print this message or the help of the given subcommand(s)

Arguments:
  <ARGS>...  arguments passed to `rails new`

Options:
  -u, --ruby-version <RUBY_VERSION>    [default: 3.3.4]
  -r, --rails-version <RAILS_VERSION>  [default: 7.2.0]
  -h, --help                           Print help
  -V, --version                        Print version

Railsアプリケーションの作成

rails-new -u 3.3.6 -r 8.0.0 blog --devcontainer --skip-test
cd blog

uとrオプションについて。 rails-new help の説明通り、バージョンを指定できます。

Options:
-u, --ruby-version [default: 3.3.4]
-r, --rails-version [default: 7.2.0]

通常のrails new で使えるオプション--skip-testもつけておきます

オプション
Argument	Description
--skip-git	Skip git init, .gitignore, and .gitattributes
--skip-docker	Skip Dockerfile, .dockerignore and bin/docker-entrypoint
--skip-keeps	Skip source control .keep files
--skip-action-mailer	Skip Action Mailer files
--skip-action-mailbox	Skip Action Mailbox gem
--skip-action-text	Skip Action Text gem
--skip-active-record	Skip Active Record files
--skip-active-job	Skip Active Job
--skip-active-storage	Skip Active Storage files
--skip-action-cable	Skip Action Cable files
--skip-asset-pipeline	Skip Asset Pipeline
--skip-javascript	Skip JavaScript files
--skip-hotwire	Skip Hotwire integration
--skip-jbuilder	Skip jbuilder gem
--skip-test	Skip test files
--skip-system-test	Skip system test files
--skip-bootsnap	Skip bootsnap gem
--skip-dev-gems	Skip adding development gems
--skip-rubocop	Skip RuboCop setup

VSCodeで開く

開くと以下のように表示されるので、「コンテナーで再度開く」をクリックして、ビルドを待ちます。

フォルダーに開発コンテナーの構成ファイルが含まれています。 コンテナーで開発するフォルダーをもう一度開きます

その後VSCodeのターミナルでバージョンを確認します。

rails -v
Rails 8.0.0

デフォルトのDBはsqlite3です。

sqlite3 --version
3.40.1 2022-12-28 14:03:47 df5c253c0b3dd24916e4ec7cf77d3db5294cc9fd45ae7b9c5e82ad8197f3alt1

ブラウザで確認する

アプリを起動してブラウザで確認してみます。
bin/devコマンドはrails -sコマンドの代わりで、サーバーの起動だけでなくアセットのビルドも並列で行ってくれます。

bin/dev

=> Booting Puma
=> Rails 8.0.0 application starting in development 
=> Run `bin/rails server --help` for more startup options
Puma starting in single mode...
* Puma version: 6.4.3 (ruby 3.3.6-p108) ("The Eagle of Durango")
*  Min threads: 3
*  Max threads: 3
*  Environment: development
*          PID: 3710
* Listening on http://127.0.0.1:3000
* Listening on http://[::1]:3000
Use Ctrl-C to stop

http://localhost:3000/にアクセスします。
Ruby_on_Rails_8_0_0.png

通常のターミナルからコンテナに入るには?

docker ps などでコンテナ名を確認し、

docker exec -it blog-rails-app-1 /bin/bash
cd workspaces/blog/
rails console

参考

3
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?