Check


プログラミングが無料で学べるYouTubeチャンネルを配信中!

RubyやPython、PHPやReactなど様々なプログラミング言語のチュートリアル動画が充実!

チャンネル登録はこちら

Ruby

【Ruby on Rails+Next.js】DockerでフロントエンドをNext.jsにしてバックエンドをRuby on Railsで環境構築をする

動画で解説を見る

開発環境

  • Visual Studio Code:version 1.73.0
  • OS:Windows10
  • Docker Engine:v23.0.5

DockerでフロントエンドをNext.jsにしてバックエンドをRuby on Railsで環境構築をする手順

DockerでフロントエンドをNext.jsにしてバックエンドをRuby on Railsで環境構築をする手順について解説していきます。

ディレクトリ構成

今回のディレクトリ構成は下記を目指していきます。

最初に必要なディレクトリを作成しておいてください。

docker-compose.ymlを作成

まずはdocker-compose.ymlを作成していきます。

ルートディレクトリの直下にdocker-compose.ymlを作成し、以下のようにしてください。

Rubyコンテナを作成

次にRubyコンテナを作成していきます。

docker/backend/ディレクトリの直下にDockerfileを作成し、以下のようにしてください。

backend/ディレクトリの直下にGemfileを作成し、以下のようにしてください。

backend/ディレクトリの直下にGemfile.lockを作成してください。

Gemfile.lockの中身は空で問題ありません。

Nodeコンテナを作成

次にNodeコンテナを作成していきます。

docker/frontend/ディレクトリの直下にDockerfileを作成し、以下のようにしてください。

MySQLコンテナを作成

次にMySQLコンテナを作成していきます。

docker/database/ディレクトリの直下にDockerfileを作成し、以下のようにしてください。

Nginxコンテナを作成

次にNginxコンテナを作成していきます。

docker/nginx/ディレクトリの直下にDockerfileを作成し、以下のようにしてください。

docker/nginx/ディレクトリの直下にdefault.confを作成し、以下のようにしてください。

Next.jsプロジェクトとRuby on Railsプロジェクトの作成

次にNext.jsプロジェクトとRuby on Railsプロジェクトの作成をしていきます。

まずは以下のコマンドでプロジェクトディレクトリに移動します。

以下のコマンドでコンテナをビルドします。

以下のコマンドでNext.jsプロジェクトを作成します。

以下のコマンドでRuby on Railsプロジェクトを作成します。

docker-compose.ymlを修正

次にdocker-compose.ymlを修正していきます。

ルートディレクトリの直下にdocker-compose.ymlを以下のように修正してください。

Nodeコンテナを作成

次にNodeコンテナを作成していきます。

docker/frontend/ディレクトリの直下にDockerfileを作成し、以下のようにしてください。

Dockerコンテナを再ビルド

以下のコマンドでDockerコンテナを再ビルドします。

Ruby on Railsアプリケーションのデータベース設定

次にRuby on Railsアプリケーションのデータベース設定をしていきます。

Ruby on Railsアプリケーションのdatabase.yml設定を以下のように修正します。

次にRuby on Railsのマイグレーションを実行していきます。

動作テスト

動作テストのためにコードを追記していきます。

まずはRuby on RailsにAPIを追加していきます。

次にコントローラーからJsonレスポンスを返すようにしていきます。

次にNext.jsにページを追加していきます。

次に以下のコマンドでコンテナを起動します。

ブラウザでhttp://localhost/testにアクセスし、「Hello from API!」が表示されていれば成功です。

まとめ

今回はDockerでRuby on RailsとNext.jsの環境構築をする手順について解説していきましたが、いかがだったでしょうか。

近年、フロントエンドとバックエンドを分けて運用するアプリケーションが増えてきましたが、Dockerを使えば簡単に開発環境を構築することができます。

Dockerを使った開発は必須となりつつありますので、是非、チャレンジしてみてください。

Check


プログラミングが無料で学べるYouTubeチャンネルを配信中!

RubyやPython、PHPやReactなど様々なプログラミング言語のチュートリアル動画が充実!

チャンネル登録はこちら

-Ruby