我在Phusion提供的Docker容器(https://github.com/phusion/passenger-docker)内运行Passenger,并使用以下命令将Rails环境设置为开发设置:
docker run -rm -p 80:80 -e RAILS_ENV=development <image_name>
但是,乘客继续仅以生产模式运行。是什么原因造成的?
最佳答案
事实证明,问题在于在此容器中运行的乘客不监听RAILS_ENV的环境变量,而只监听PASSENGER_APP_ENV。它使用该环境变量来调整nginx.conf文件。您可以在此文件(https://github.com/phusion/passenger-docker/blob/master/image/config/30_presetup_nginx.sh)中看到这种情况
设置BOTH变量可以解决问题(其他工具仍使用RAILS_ENV)。
docker run -rm -p 80:80 -e RAILS_ENV=development -e PASSENGER_APP_ENV=development <image_name>
关于ruby-on-rails - 尽管一切似乎正确,但乘客仍在生产中运行?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29926643/