Help us understand the problem. What is going on with this article?

Dockerを利用したRails開発(環境構築)

バージョン

Ruby 2.6.4p104
Rails 6.0.2.1
Docker version 19.03.5

エディタ

VSCode

Rails開発ようコンテナ群の構築

$ git clone https://github.com/oiax/rails6-compose.git
$ cd rails6-compose
$ ./setup.sh

コンテナ群の起動

$ docker-compose up -d

webコンテナへのログイン

$ docker-compose exec web bash

初期ソースコードの生成

rails new baukis2 -d postgresql --skip-test-unit

Gemfile編集

  • 以下のgemを追加
gem 'bcrypt' // パスワードの暗号化
gem 'rails-i18n' // Railsが出力するエラー文、翻訳ファイル
gem 'kaminari' // ページネーション
gem 'date_validator' // 日付のバリデーション
gem 'valid_email2' // メールアドレスのバリデーション
gem 'nokogiri' // XML/HTMLの解析、生成
  • rspecに関するgemを追加
  • gem :test do gem 'rspec-rails' gem 'factory_bot_rails' end

bin/bundleコマンド実行

$ bin/bundle

データベースのセットアップ

config/database.yml
default: &default
  adapter: postgresql
  encoding: unicode
  # For details on connection pooling, see Rails configuration guide
  # https://guides.rubyonrails.org/configuring.html#database-pooling
  pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>
  + host: db
  + username: postgres
  + password: ""

ジェネレータの設定

config/application.rb
config.generators do |g|
  g.skip_routes true
  g.helper false
  g.assets false
  g.test_framework :rspec
  g.controller_specs false
  g.view_specs false
end

hostsファイルの設定

/private/etc/hostsに以下追記

127.0.0.1 example.com baukis2.example.com

Blocked Hostsの設定

config/initializers/blocked_hosts.rb
Rails.application.configure do
  config.hosts << "example.com"
  config.hosts << "baukis2.example.com"
end

アプリケーション動作確認

bin/rails s -b 0.0.0.0
daiki421
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away