Tag: 乘客

Passenger中错误地设置了$ GEM_HOME和$ GEM_PATH

我正在尝试在Docker容器中使用Passenger(v5.1.4)+ Nginx设置一个rails(v4.2.6)应用程序。 我使用官方ruby2.3.1作为基础的形象。 以下是我的网站nginx文件 server { server_name example.local; listen 4000; access_log /var/log/nginx/access.log; error_log /var/log/nginx/error.log; root /www/app/public; passenger_ruby /usr/local/bin/ruby; try_files $uri @passenger; location @passenger { passenger_enabled on; rails_env development; } … } passenger_pre_start http://0.0.0.0:4000/status; 更多上下文: Ruby二进制文件存在于/usr/local/bin/ruby gem安装在/usr/local/bundle 但是当我启动nginx服务时,出现以下错误 It looks like Bundler could not find a gem. Maybe you didn't install all the gems that this […]

乘客导轨日志泊坞窗日志不起作用

我想输出我的轨道5日志到标准输出,所以我可以使用dockerpipe理我的日志。 我已经将以下内容添加到我的application.rb文件中: if ENV["RAILS_LOG_TO_STDOUT"].present? logger = ActiveSupport::Logger.new(STDOUT) logger.formatter = config.log_formatter config.log_tags = [ :request_id, :subdomain, :uuid ] config.logger = ActiveSupport::TaggedLogging.new(logger) end 并在我的docker-compose.yml文件中: api: environment: – RAILS_LOG_TO_STDOUT=1 我可以看到envvariables被正确设置,当我去到rails控制台,应用程序不再写入log / development.log这是迄今为止的正确行为。 但是,当我尝试查看docker日志时: docker-compose logs -f api 我没有看到任何logging。 如果我删除了RAILS_LOG_TO_STDOUT env参数, RAILS_LOG_TO_STDOUT输出logging到log / development.log。 我使用的是phusion / passenger-ruby23作为我的基本形象。

我无法使用docker和乘客访问我的sinatra webapp url

我必须学习如何使用docker,以及如何dockerize一个sinatra webapp。 我按照这个教程: http : //coding.jandavid.de/2016/01/22/dockerizing-sinatra/ 我现在在本教程的最后一节,即运行我的应用程序的url如下: http : //192.168.99.100 : 4567/ ,但它不工作。 首先,我对本教程的部分内容有一些疑问。 在.conf文件中,他使用以下行passenger_ruby /usr/bin/ruby2.2; 因为我使用的Ruby 2.4.1版本,我写了这一行代码passenger_ruby /usr/bin/ruby2.4; 。 那就对了? 这条线是什么意思? 在Dockerfile中,他使用了下面一行FROM phusion/passenger-ruby22:0.9.18他写了一个特定的版本,我需要使用下面的这一行FROM phusion/passenger-ruby24因为我使用的是ruby 2.4.1,但是我不知道我是否需要指定一个版本。 当我构build图像,所有作品完美,当我开始我的应用程序docker run -p 4567:80 vcheloud/sinatra-example似乎工作正常。 但是,当我尝试运行http://192.168.99.100:4567/它不工作。

Phusion Baseimage vs. Phusion Passenger(可以在基本映像上轻松安装NGINX吗?)

在Docker容器中构build一个Phusion + NGINX + Gunicorn + Django web堆栈, 在github上进行编写。 我有django和gunicorn运行的容器。 我想build立一个NGINX反向代理。 本来,我的计划只是添加这样的东西(假设我的bseimage来源于可靠): #cat NGINX repos to sources.list RUN cat ../../etc/apt/sources.list >> debrepos.txt #install nginx RUN apt-get update RUN apt-get install nginx 文件debrepos.txt具有以下内容: #stanzas for nginx deb http://nginx.org/packages/ubuntu/ trusty nginx #deb http://nginx.org/packages/ubuntu/ trusty nginx deb-src http://nginx.org/packages/ubuntu/ trusty nginx #deb-src http://nginx.org/packages/ubuntu/ trusty nginx 从那里我会用我需要的那个replacenginx.conf文件。 最近,我发现了关于乘客。 所以我真正的问题是a。)将上述工作在phusion-baseimage中? 和b。)我应该重新开始,并使用乘客和docker_compose.yml来做到这docker_compose.yml […]

如何在Gitlab CI中使用Dockerfile

使用gitlab-ci作为我的节点/反应应用程序,我试图使用phusion/passenger-nodejs作为基础泊坞窗 我可以很容易地在.gitlab-ci.yml中指定: image: phusion/passenger-nodejs:latest variables: HOME: /root cache: paths: – node_modules/ stages: – build – test – deploy set_environment: stage: build script: – npm install tags: – docker test_node: stage: test script: – npm install – npm test tags: – docker 但是,Phusion Passenger期望您在Dockerfile中使用特殊的init进程等进行configuration更改,例如python支持。 #FROM phusion/passenger-ruby24:<VERSION> #FROM phusion/passenger-jruby91:<VERSION> FROM phusion/passenger-nodejs:<VERSION> #FROM phusion/passenger-customizable:<VERSION> # Set correct environment […]

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

我在Phusion提供的Docker容器( https://github.com/phusion/passenger-docker )中运行Passenger,并使用以下命令将我的Rails环境设置为dev设置: docker run -rm -p 80:80 -e RAILS_ENV=development <image_name> 然而,乘客继续只在生产模式下运行。 这会导致什么?

我无法使用Docker和Passenger / nginx图像运行rails控制台

我有下一个docker-compose容器: # docker-compose.yml version: '2' services: web: build: . ports: – "80:80" volumes: – .:/home/app/NAME_OF_MY_APP db: image: postgres:9.4 ports: – "5432" environment: POSTGRES_USER: 'postgres' 我无法弄清楚如何运行rails控制台。 我正在使用乘客/ nginx图像,一切正常。 但是,我的数据库是在另一个容器,我想进入轨道控制台手动创build几个用户。 我试着用: sudo docker-compose run web rails c 但是它出现了下一个错误: ERROR: Cannot start service web: oci runtime error: exec: "rails": executable file not found in $PATH 另外,我试过: sudo docker-compose […]

如何与乘客创builddocker形象?

我正在尝试使用导轨应用程序和乘客创build泊坞窗图像。 我读过这篇文章: https : //intercityup.com/blog/how-i-build-a-docker-image-for-my-rails-app.html 它工作良好,gem安装得很好,但是当我打电话给应用程序,我有这个错误: 来自应用程序的消息:libruby.so.2.1:无法打开共享对象文件:没有这样的文件或目录 – /home/app/webapp/vendor/bundle/ruby/2.1.0/extensions/x86_64-linux/2.1.0/pg -0.18.3 / pg_ext.so(LoadError) 而当我连接到图像时,文件/home/app/webapp/vendor/bundle/ruby/2.1.0/extensions/x86_64-linux/2.1.0/pg-0.18.3/pg_ext.so确实存在。 所以我不明白发生了什么事。 我的docker文件: FROM phusion/passenger-ruby21:0.9.12 MAINTAINER Eric L'Hostis "eric.lhostis@gmail.com" # Set correct environment variables. ENV HOME /root # Use baseimage-docker's init system. CMD ["/sbin/my_init"] # Conf Nginx / Passenger RUN rm -f /etc/service/nginx/down RUN rm /etc/nginx/sites-enabled/default ADD nginx.conf /etc/nginx/sites-enabled/webapp.conf # Prepare folders RUN […]