はじめに
Ruby on Railsのローカル開発環境のDockerCompose簡易テンプレートを作成しました。
railsをインストールする際は、通常、railsプロジェクトを作成してからGemfileで依存パッケージをインストールする手順となっております。従って、依存パッケージのインストールをDockerのイメージレイヤに反映させるためにdocker compose build
が必要でした。
私が今回作成した簡易テンプレートでは、Dockerfile内でGemfileを取得して依存パッケージをインストールし、そのあとにWORKDIR
にRailsプロジェクトを生成する手順となっております。従って、Dockerfileの処理が完了したときには、すでに依存パッケージのインストールがDockerイメージレイヤに反映されているため、docker compose build
の実行が不要となっております。
※ Dockerfile内でビルド用のRailsプロジェクトを作成しておりますが、これはあくまでGemfile取得用であるため、実装では使いません。
Railsの通常のDockerCompose環境構築手順は以下をご参照くださいませ。
前提環境
Docker Compose 構成
Docker Composeの構成を記述します。
サービス一覧
- app
- web
- db_mysql
- db_mysql_admin
app
Ruby on Railsが動作するアプリケーションサーバー。
web
nginxサーバー。
HTTPリクエストをappコンテナへとフォワード(中継)します。
db_mysql
MySQLサーバー。
db_mysql_admin
phpMyAdminサーバー。
Github