【发布时间】:2017-03-04 00:45:52
【问题描述】:
我使用的是 Windows 10 机器。我还在运行一个运行 rails 应用程序的 docker 容器。每当我更改任何服务器端代码(即控制器或模型)时,我都需要执行 docker restart 应用程序。
但是我的朋友在他的苹果机器上使用相同的容器,但是当他对任何服务器端代码进行更改时,他不必重新启动他的应用程序。
这是为什么?
【问题讨论】:
标签: ruby-on-rails docker
我使用的是 Windows 10 机器。我还在运行一个运行 rails 应用程序的 docker 容器。每当我更改任何服务器端代码(即控制器或模型)时,我都需要执行 docker restart 应用程序。
但是我的朋友在他的苹果机器上使用相同的容器,但是当他对任何服务器端代码进行更改时,他不必重新启动他的应用程序。
这是为什么?
【问题讨论】:
标签: ruby-on-rails docker
Rails 有一个配置选项 (config.cache_classes),它指定您的应用程序代码是否应在请求之间缓存在内存中。将此选项设置为true 将要求您在进行更改时重新启动您的应用程序;将其设置为 false 会在每次请求时重新加载您的代码,因此您不必重新启动。
建议仅在开发 环境中将此设置为false,因为如果Rails 不必每次开始处理请求时都重新加载您的代码,它的工作速度会更快。在生产中,您应该将其设置为true。
【讨论】: