このページで解説している内容は、以下の YouTube 動画の解説で見ることができます。
Ruby on Railsコンテナ③
「Ruby on Railsコンテナ②」の続きです。引き続き、Railsコンテナを構築していきます。
「Ruby on Railsコンテナ」は次の3部に分けて解説していきます。
ここでは、イメージを再ビルドして、設定ファイル「database.yml」を編集し、Railsコンテナを起動させます。
イメージの再ビルド
イメージを再ビルドします。
・「docker compose build」コマンドを実行します。
PS C:\Users\joeac\Desktop\docker\rails> docker compose build
[+] Building 0.0s (0/0) docker:default
2024/04/21 22:23:12 http2: server: error reading preface from client //./pipe/docker_engine: file has already been close[+] Building 43.8s (11/12) docker:default
=> [web internal] load build definition from Dockerfile 0.0s
=> => transferring dockerfile: 327B 0.0s
=> => # Fetching sassc 2.4.0
=> => # Fetching rb-inotify 0.10.1
(省略)
=> [web 7/7] RUN bundle install 43.9s
=> [web] exporting to image 0.6s
=> => exporting layers 0.6s
=> => writing image sha256:913ba07716eefa1146098203d276b38d4170304af8e3cecbe924b8f67d4d1308 0.0s
=> => naming to docker.io/library/rails-web
「database.yml」の編集
設定ファイル「database.yml」を編集します。
「config」ディレクトリの中の「database.yml」を開きます。
railsディレクトリの中身
railsディレクトリの中身
・「code ./config/database.yml」コマンドを実行します。
PS C:\Users\joeac\Desktop\docker\rails> code ./config/database.yml
VS Codeが起動します。
・以下の赤枠を編集します。
password: <%= ENV.fetch("DATABASE_PASSWORD") %>
host: db
port: 3306
コンテナの作成
コンテナを作成する準備ができたので、「docker compose up」コマンドでコンテナを作成します。
・「docker compose up -d」コマンドを実行します。
PS C:\Users\joeac\Desktop\docker\rails> docker compose up -d
[+] Running 2/2
✔ Container mariadb_container Started 0.0s
✔ Container rails_container Started
Rails用のデータベースの作成
Railsを起動するには、事前にデータベースを用意しておく必要があります。
・「docker compose exec web rake db:create」コマンドを実行します。
「rake db:create」は、Railsに用意されているコマンドです。
項目 | 意味 |
---|---|
コマンド | docker compose exec web rake db:create |
docker compose exec | Docker Composeのサブコマンドで、指定されたサービス内でコマンドを実行する。 |
web | 実行するコマンドが実行されるサービス名またはサービス定義。 |
rake db:create | Railsアプリケーションで使用されるrakeタスクの1つで、データベースを作成するためのコマンド。データベースの設定に従って、データベースが作成される。この場合は、db:createというタスクが実行される。 |
このコマンドは、Docker Composeを使用してRailsアプリケーションのコンテナ内で、データベースを作成するためのrakeタスクを実行します。”web”サービスが実行されているコンテナ内で、データベースが作成されます。
PS C:\Users\joeac\Desktop\docker\rails> docker compose exec web rake db:create
Created database 'samplerails_development'
Created database 'samplerails_test'
Railsコンテナへの接続
少々道のりが長かったですが、これでRailsコンテナを起動させる準備が整いました。
・Webブラウザを起動して、URLに「localhost:3000」と入力します。
RailsのTOPページが表示されました。
これで、Railsの開発環境が整いました。
Railsプロジェクトにプログラムを追加していくことで、Railsアプリケーションの開発ができます。