尽pipe一切似乎正确,乘客仍然在生产中运行?

我在Phusion提供的Docker容器( https://github.com/phusion/passenger-docker )中运行Passenger,并使用以下命令将我的Rails环境设置为dev设置:

docker run -rm -p 80:80 -e RAILS_ENV=development <image_name> 

然而,乘客继续只在生产模式下运行。 这会导致什么?

原来这个问题是,在这个容器中运行的Passenger不听RAILS_ENV的环境variables,它只监听PASSENGER_APP_ENV。 它使用该环境variables来调整nginx.conf文件。 你可以在这个文件中看到这个( https://github.com/phusion/passenger-docker/blob/master/image/config/30_presetup_nginx.sh

设置这两个variables解决了这个问题(RAILS_ENV仍然被其他工具使用)。

 docker run -rm -p 80:80 -e RAILS_ENV=development -e PASSENGER_APP_ENV=development <image_name>