Tag: ruby on rails 4

将Docker ENVvariables传递给Rails应用程序

我正在testing一个利用docker集装箱的铁路应用程序。 我试图做的是传递一个ENVvariables运行使用-e标志,如下所示: docker run -p 3000:3000 -d -e "DOCKER_HOST=$(ip -4 addr show docker0 | grep -Po 'inet \K[\d.]+')" somerepo/image:tag 。 这是我知道的,因为当我撞到容器并运行env我得到正确的variables集: $ env HOSTNAME=1641e2f6c81f GEM_HOME=/usr/local/bundle DOCKER_HOST=172.17.0.1 … 当我尝试在rails应用程序中设置mongoid.yml ,如下所示: production: clients: default: database: somerailsdb hosts: – ${DOCKER_HOST}:27017 options: options: 当我尝试获取数据库logging时,出现以下mongodb错误: App 10040 stdout: D, [2016-01-10T11:40:07.085516 #10040] DEBUG — : MONGODB | getaddrinfo: Name or service […]

Rails资产指纹在服务器上有所不同

(我已经尝试在这里input链接描述 ) 我正在使用Ruby 2.2.2p95和Rails 4.2.3的Docker镜像在两台不同的服务器上运行2个容器,但是尽pipe我使用了相同的镜像,但它们都使用不同指纹的desktop.js: 当我跑步 rake assets:precompile 在两台机器上,他们都生成具有相同指纹的js文件 – desktop-<FINGRPRINT>.js 但是,当我访问我的主页时,其中一台服务器提供不同的desktop-<OTHER-FINGERPRINT>.js 怎么会这样? 有没有我不知道的caching机制? 我试图closures服务器,但同样的问题仍然存在,并与完全相同的desktop-<OTHER-FINGERPRINT>.js

用于服务HTTP / HTTPS请求的Beanstalk-Dockerconfiguration问题

我有一个应用程序部署在使用Ruby on Rails,Nginx-Passenger,多容器泊坞窗configuration构build的Elastic Beanstalk上。 负载均衡器也configuration相同。 我也上传了SSL证书(来自第三方)到IAM。 如果我在Dockerrun.aws.json中将ContainerPortconfiguration为80,那么应用程序仅通过http进行响应,如果Containerportconfiguration为443,则它仅通过https进行响应。 即使两个ContainerPorts都在Dockerrun.aws.json中指定,那么Beanstalk也只使用其中的一个。 用豆杆,我不能为我的容器暴露多个端口。 也就是说,我可以打开http或https。 两者不能一起工作。 我试图实现的是,如果有人访问http上的链接,它应该自动redirect到https和服务请求。 目前,由于Dockerrun.aws.json的configuration,两者中只有一个会工作。 我还configuration了负载均衡器configuration以使用HTTPS。 以下屏幕截图供您参考。 如果我缺less任何configuration,请让我知道。 Load_balancer

Docker中创build的文件不会显示在Windows主机目录中,但是可以编辑

我在Docker的一个rails项目中遇到了一个奇怪的问题,那就是在googlesearch3天之后,我找不到解决scheme。 在Docker特定的论坛上,我确实设法find了类似于我的问题的一些问题,但是这些问题或者是针对较新的Docker,或者是未解决的。 应该指出的是,我对docker工作的理解非常有限,因为这是我第一个需要它的项目,我也从另一个开发人员那里inheritance了这个项目,他没有问题。 问题是由“docker”创build的文件没有镜像到主机的工作目录。 奇怪的是由docker / rails编辑的文件已经存在立即更新(容器到主机)例如:运行rake db:migrate我手动编辑(这是预期的)更改的schema.rb文件。 任何由我更改的文件也会更新(主机到docker / rails)我可以在刷新时立即看到更改。 Wheras如果我运行说一个rails precompile或generate命令它说明文件已经创build,可以在运行的项目中看到,但不是Windows项目目录! 我正在使用docker工具箱,在Windows 8的虚拟框中的boot2docker(我不能使用docker for windows)。 我已经确定该项目的目录是在共享和用户等我启动我的机器和会议通常的方式: docker-machine start > env > eval(…etc) 然后 docker-compose up 当项目结束时,我跑了: docker exec <containerID> rails generate controller <ControllerName> new edit –no-test-framework (以上从指导中获取,没有显示错误) 我刷新了Windows目录并将其重新input。 没有添加。 预编译资产的结果是一样的。 日志(第二次运行上面的命令) identical app/controllers/<<Controller_name>>_controller.rb route get '<<Controller_name>>/edit' route get '<<Controller_name>>/new' invoke erb exist app/views/<<Controller_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 […]

docker中的pg_dump问题

这里是我的docker文件,这里是我的docker -compose文件 。 当我运行docker-compose run web rake db:migrate我得到了这个错误 rake aborted! failed to execute: pg_dump -s -x -O -f /usr/src/app/db/structure.sql –schema=public –schema=partitioning docker_rails_dev Please check the output above for any errors and make sure that `pg_dump` is installed in your PATH and has proper permissions. /usr/local/bundle/gems/activerecord-4.2.7.1/lib/active_record/tasks/postgresql_database_tasks.rb:90:in `run_cmd' /usr/local/bundle/gems/activerecord-4.2.7.1/lib/active_record/tasks/postgresql_database_tasks.rb:55:in `structure_dump' /usr/local/bundle/gems/activerecord-4.2.7.1/lib/active_record/tasks/database_tasks.rb:183:in `structure_dump' /usr/local/bundle/gems/activerecord-4.2.7.1/lib/active_record/railties/databases.rake:279:in `block (3 levels) in […]

减lessrake资产的内存消耗:预编译

问题: 在执行rake assets:precompile时,我将耗尽内存rake assets:precompile自动构build中的rake assets:precompile任务。 有没有什么策略可以执行增量式预编译,或者以其他方式执行预编译阶段而不消耗更多的RAM? 看起来好像这个任务比构build的基线消耗了大约850MB。 背景 : 我试图得到一个单一的Docker容器Bitbucketstream水线版本的我们的自动构build。 应用程序堆栈包括Rails 4.2.7,PostgreSQL 9.3,Java 8,Maven 3.3.9和JRuby 9.1.2.0。 我已经尝试创build基于Debian Jessie和Alpine Linux的映像,但是在基准内存中并没有太大的区别。

`初始化':schemepostgres不接受registry部分:postgres:@(或坏主机名?)(URI :: InvalidURIError)与docker

我正在使用与Postgres DB Docker容器连接的Rails。 它看起来像我越来越错误,当我运行rails c : /usr/local/rvm/rubies/ruby-2.2.1/lib/ruby/2.2.0/uri/generic.rb:204:in `initialize': the scheme postgres does not accept registry part: postgres:@ (or bad hostname?) (URI::InvalidURIError) 有没有原因,这是行不通的? 我的database.yml是: production: <<: *default url: <%= ENV['DATABASE_URL'] %> 已定义$DATABASE_URL 有意思的是,直到昨天还在工作了几天,今天又停止了工作。 下面是Rails 4.2.1生成的! # As with config/secrets.yml, you never want to store sensitive information, # like your database password, in your source code. If […]

Docker + rails 4:奇怪的错误:运行bundle exec rake资源:预编译

尝试使用Docker部署rails4应用程序,我在下面的Dockerfile中: FROM ubuntu:14.04 RUN apt-get update && \ apt-get install -qy software-properties-common RUN apt-add-repository -y ppa:brightbox/ruby-ng RUN apt-get update && apt-get upgrade -y # Ruby and dependencies RUN apt-get install -qy curl nodejs libmysqlclient-dev libsqlite3-dev libpq-dev build-essential \ ruby2.2 ruby2.2-dev RUN gem install bundler –no-ri –no-rdoc # Cache bundle install WORKDIR /tmp ADD Gemfile Gemfile […]