前提・実現したいこと
ruby 2.6.3
rails 5.2.2
Docker+railsでアプリの開発をしています
発生している問題
以前までは、viewのソースコードを書き換えると変更が即時反映されていたのですが、
突然反映されなくなりました
コンテナをbuildしなおして、docker-compose stop → docker-compose upでようやく反映されます(restartではなぜか反映されません)
どのあたりに原因があるのか全くわかりません…
htmlもCSSも両方変更が反映されません
該当のソースコード
#Dokerfile FROM ruby:2.6.3 ENV LANG C.UTF-8 ENV APP_ROOT /usr/src/app RUN apt-get update -qq && \ apt-get install -y vim nodejs \ mariadb-client \ --no-install-recommends && \ rm -rf /var/lib/apt/lists/* /var/cache/apt/archives/* /tmp/* /var/tmp/* WORKDIR $APP_ROOT COPY Gemfile Gemfile.lock $APP_ROOT/ RUN \ echo 'gem: --no-document' >> ~/.gemrc && \ cp ~/.gemrc /etc/gemrc && \ chmod uog+r /etc/gemrc && \ bundle config --global build.nokogiri --use-system-libraries && \ bundle config --global jobs 4 && \ bundle install && \ rm -rf ~/.gem COPY . $APP_ROOT
#docker-compose.yml version: '3' services: web: build: . command: bundle exec rails s -p 3000 -b '0.0.0.0' volumes: - .:/app ports: - 3000:3000 depends_on: - db #tty: true #stdin_open: true #rspec導入の際に追加 selenium_chrome: image: selenium/standalone-chrome-debug logging: driver: none #追加ここまで db: image: mysql:5.7 volumes: - db-volume:/var/lib/mysql environment: MYSQL_ROOT_PASSWORD: password volumes: db-volume:
#config/envirnments/development.rb Rails.application.configure do config.cache_classes = false config.eager_load = false config.consider_all_requests_local = true if Rails.root.join('tmp', 'caching-dev.txt').exist? config.action_controller.perform_caching = true config.cache_store = :memory_store config.public_file_server.headers = { 'Cache-Control' => "public, max-age=#{2.days.to_i}" } else config.action_controller.perform_caching = false config.cache_store = :null_store end config.active_storage.service = :local config.action_mailer.perform_caching = false config.active_support.deprecation = :log config.active_record.migration_error = :page_load config.active_record.verbose_query_logs = true config.assets.debug = true config.assets.quiet = true #下記の二行を追加 config.reload_classes_only_on_change = false config.file_watcher = ActiveSupport::FileUpdateChecker config.web_console.whitelisted_ips = '172.18.0.1' config.action_mailer.raise_delivery_errors = true config.action_mailer.perform_deliveries = true config.action_mailer.delivery_method = :smtp #開発環境 config.action_mailer.default_url_options = { host: 'localhost:3000' } ActionMailer::Base.smtp_settings = { #省略 } end
試したこと
config/envirnments/development.rbに下記の二行を追加しましたが、変わりませんでした
config.reload_classes_only_on_change = false config.file_watcher = ActiveSupport::FileUpdateChecker
railsの設定ではなくDockerのvolumeの辺りの設定に問題があるのでしょうか?
以前はできており、いつの間にか反映されなくなっていたので原因がわかりません
何かご存知の方がいましたらよろしくお願いします。
あなたの回答
tips
プレビュー