投稿

ラベル(Rails)が付いた投稿を表示しています

WSL2(Ubuntu)のDocker+Ruby on Railsでデータベース運用

前回の記事 でローカルのWSL上にRuby on Railsの開発環境を構築しました。今回はRailsアプリケーションからデータベースの操作(DDL/DML)を行う方法をまとめていきます。 事前準備 バージョン情報 Ruby ruby 3.2.3 (2024-01-18 revision 52bb2ac0a6) [x86_64-linux-gnu] Rails Rails 8.0.2 ライブラリセットアップ Ruby RubyGemsというRubyのパッケージ管理システムを利用するため、以下コマンドでrubyをセットアップします。 sudo apt install ruby-full ruby --version Rails gemコマンドが使用できるようになるので、gemコマンドでrailsをセットアップします。 sudo gem install rails rails --version 権限変更 Railsアプリケーションが暗号化された資格情報や環境変数を復号するための秘密鍵として使用するためマスターキーや、ログディレクトリへのアクセスを可能にするために以下コマンドで権限を変更します。 マスターキー sudo chown $(whoami) config/master.key ログディレクトリ権限変更 sudo chown $(whoami) log sudo chmod 766 log DBディレクトリ権限変更 sudo chown $(whoami) db sudo chmod 766 db 確認 この状態でいったんrails dbコマンドが問題なく使えるか確認します。 rails db:migrate:status 以下のように出力されればOKです。 database: myapp_development Status Migration ID Migration Name -------------------------------------------------- DBマイグレーション DBマイグレーションとは、データベースの構造を変更する作業のことです。例えば、新しいテーブルを追加したり、既存...

WSL2(Ubuntu)にDocker+Ruby on Rails開発環境の構築

イメージ
Windows上のWSLにDocker+Ruby on Railsの開発環境を構築する手順のまとめです。 事前準備 各環境のバージョン情報 OS Windows11 Pro WSL 2.4.12.0 WSL OS Ubuntu 24.04.2 LTS Docker Docker version 28.0.4, build b8034c0 Docker-Compose Docker Compose version v2.34.0-desktop.1 環境構築手順 アプリケーションディレクトリ作成 任意のプロジェクト名でディレクトリを作成し、移動します。 mkdir ruby-test cd ruby-test/ Docker関連ファイル作成 ruby-test/ ├── Dockerfile ├── Gemfile ├── Gemfile.lock └── docker-compose.yml Dockerfile echo "# ベースイメージ FROM ruby:3.2.3 # パッケージインストール RUN apt-get update -qq && apt-get install -y nodejs yarn default-mysql-client # 作業ディレクトリ WORKDIR /myapp # Gemfile, Gemfile.lock COPY Gemfile /myapp/Gemfile COPY Gemfile.lock /myapp/Gemfile.lock # Bundler RUN gem install bundler RUN bundle install # アプリケーションコード COPY . /myapp # ポート(3000) EXPOSE 3000 # サーバー起動 CMD [\"rails\", \"server\", \"-b\", \"0.0.0.0\"]" > Dockerfile ベー...