Rails controller caching when using docker container (dev)

I have docker running an app container (rails app) and a db container running postgres

I have volume mounted my local working directory to my app container so I can work locally and the changes reflected in the app container.

  • How to add Vxlan Tag to isolation different group of Docker Containers
  • Automated pulling from gitolite repo within docker container
  • Spring Cloud Config Server cannot connect to git over ssh in Docker
  • Linking a SQL Server with a liferay instance running in a docker container
  • Couchbase running in a container not accessible
  • Docker rails app and git
  • In doing this everything seems to work fine except I seem to get some strange caching behaviour on my controllers

    for example

    route:

    get '/something', to: 'something#show'
    

    controller

    class SomethingController < ApplicationController
        def show
            render text: "Hello 1"
        end
    end
    

    When I go to myapp/something I get Hello 1 perfect!

    Then I edit my controller to:

    class SomethingController < ApplicationController
        def show
            render text: "Hello 2"
        end
    end
    

    When I go to myapp/something I still get Hello 1?

    If I return a html view, it updates just fine, so why is my changes in my controller not being reflected?

    The only way I can get these changes to reflect is by making a change in my routes file and saving, this seems to refresh whatever is being cached.

    note: I am not caching in the browser, I have caching turned off and Im doing a hard reload each time.

    Can anyone shed any light on this? Im trying to follow this tutorial: https://www.youtube.com/watch?v=NEdDa3Zqu7s&list=PLbG4OyfwIxjEe5Y3hQCiQjYnSgRH051iJ&index=3

    Thanks

  • Docker container CPU allocation
  • Build .NET Core Console Application into Docker
  • Why can't I access a host port from my Docker container?
  • Run normal Win32 applications in Docker for Windows
  • chrome fails with “Illegal instruction” in minimal Centos7+Xvfb
  • Discourse forum output
  • One Solution collect form web for “Rails controller caching when using docker container (dev)”

    How did you define your development.rb?

    Make sure you have the caching options set to false:

    config.reload_classes_only_on_change = false
    config.cache_classes = false
    

    If this doesn’t work you might want to read the Rails docs about caching:
    http://guides.rubyonrails.org/caching_with_rails.html

    Docker will be the best open platform for developers and sysadmins to build, ship, and run distributed applications.