Tag: ruby on rails

运行rake db时出现错误:在Docker中创build

我是Docker中的新成员,然后在运行Ruby on Rails和Postgresql的官方教程。 当我运行docker-compose up但是当我尝试命令docker-compose run web rake db:create ,我得到了一个FATAL: role "root" does not exist错误FATAL: role "root" does not exist 。 database.yml default: &default adapter: postgresql encoding: unicode pool: 5 host: db development: <<: *default database: myapp_development test: <<: *default database: myapp_test production: <<: *default database: myapp_production username: postgres password:

在Docker中dynamic加载Ruby容器

我正在为我的Rails项目设置一个Dockerfile。 为此,我正在像这样加载Ruby Docker容器: FROM ruby:2.2.3 我的应用程序已经包含一个在其他地方用来设置版本的.ruby-version文件。 我真的很喜欢避免在我的Dockerfile中重复版本号。 本质上,我想要做这样的事情: Ruby ruby:$(cat .ruby-verison) 上述命令不起作用。 有没有其他方式与Docker完成同样的事情?

Docker + Rails + Postgres:应用程序无法访问数据库容器

Docker新手 试图跟随在Docker容器中的两个COdeShip教程为Rails + Postgres。 数据库容器在docker-compose up -d控制下的应用程序容器启动和停止docker-compose up -d和docker-compose rm 。 Postgres命令在应用程序容器内不可用,所以docker-compose run app bin/rake db:create chokes报告找不到createdb 。 我在这个Gist中写得更完整了。 我被困了3天,并计数; 帮助将不胜感激!

Docker:在Rails应用程序中build立PostgreSQL连接的问题

我已经研究了几天,现在终于到了可以帮助的地步。 我正在尝试使用颇受欢迎的Phusion Passenger Docker镜像作为我的基础镜像来启动运行Rails应用程序的简单Docker镜像。 问题在于build立到PostgreSQL数据库的连接。 这是我的database.yml文件: default: &default adapter: postgresql pool: 5 user: pguser password: pguser timeout: 5000 host: localhost encoding: utf8 port: 5432 production: <<: *default database: myapp_production 我正在试图用这个Dockerfilebuild立图像: # Use phusion/passenger-full as base image. To make your builds reproducible, make # sure you lock down to a specific version, not to `latest`! # […]

Rails docker – 捆绑自定义path不能访问gem

我有一个Dockerfile,主要部分如下: FROM ruby:2.2.4 # Create user and group RUN groupadd myapp –gid 6156 && \ useradd –home /home/myapp –create-home –shell /bin/false –uid 6157 –gid 6156 myapp # Create and switch to the repo dir ENV REPO_DIR /home/myapp/repo RUN mkdir $REPO_DIR WORKDIR $REPO_DIR # First install gems ADD Gemfile $REPO_DIR ADD Gemfile.lock $REPO_DIR RUN mkdir -p […]

spring不能连接到dockerselenium容器通过rspec运行水豚

它看起来像通过弹簧运行rspec命令无法连接到本地docker容器与运行在docker-machine下的sex在osx下执行水豚testing。 当不通过弹簧服务器调用rspec命令 – 一切工作正常,我可以看到容器日志,而运行与泉 – 我什么都看不到,bin / rspec输出在水豚testing停止,直到我按Ctrl – C。 这里是我的docker的spec_helper.rb rspecconfiguration: Capybara.register_driver :dockerized_selenium do |app| Capybara::Selenium::Driver.new(app, :browser => :remote, :url => "http://192.168.99.100:4444/wd/hub") end Capybara.app_host = "http://10.0.2.2:3000" Capybara.server_host = '10.0.2.2' Capybara.server_port = '3000' Capybara.javascript_driver = :dockerized_selenium 我使用这个docker图像的selenium,用ff浏览器。 192.168.99.100 – 是我的docker机器节点的容器正在运行和10.0.2.2 – 是我的本地主机的IP从容器内。 有人看到我错过了什么? 谢谢。

如何停止在前台dockerized nginx淹没日志?

我在一个由supervisordpipe理的docker容器中运行nginx和独angular兽。 所以,supervisord是docker的命令。 它反过来产生nginx和独angular兽。 独angular兽通过套接字与nginx交谈。 nginx监听端口80。 我也有一个logspout泊坞窗容器运行,基本上通过监听docker.sock将所有的docker日志传送到papertrail。 问题是nginx正在不断向成千上万的日志input日志: 172.31.45.231 – – [25/May/2016:05:53:33 +0000] "GET / HTTP/1.0" 200 12961 0.0090 我试图禁用它。 到目前为止我已经: 设置access_logs /dev/null; 在nginx.conf和vhost文件中。 试图告诉supervisord停止logging请求 [program:nginx] command = bash -c“/ usr / sbin / nginx -c /etc/nginx/nginx.conf”stdout_logfile = / dev / null stderr_logfile = / dev / null 试图告诉supervisord发送日志到syslog不是标准输出: [program:nginx] command = bash -c“/ usr / […]

Docker的Web应用程序:bash会话

我目前正在为使用Ruby on Rails编写的Docker的Web仪表板工作。 我使用的是使用给定的Docker API的https://github.com/swipely/docker-api 。 我想添加function通过正常的bash会话与docker集装箱通信。 等效的docker命令是 docker exec -ti container_name bash 任何人有一些想法如何进入这个Web应用程序bash会话? 某种IO对象或terminal模拟器? 我试图使用给定的exec和attach函数,但没有成功。 通过docker-API执行单个命令也是一个进步。

无法使用Docker将mongodb与Rails容器连接组成

通过rails控制台在Model中插入值时出现此错误。 “Mongo :: Error :: NoServerAvailable:没有可用的服务器匹配首选项:#使用server_selection_timeout = 30和local_threshold = 0.015” 这两个容器运行良好,但Rails无法连接MongoDB。 我只有一个Dockerfile。 我的docker-compose.yml文件内容是: version: '2' services: mongo: image: mongo:3.0 command: mongod –smallfiles –quiet environment: – RAILS_ENV=production – RACK_ENV=production ports: – "27017:27017" app: depends_on: – 'mongo' # – 'redis' build: . ports: – '3000:3000' volumes: – '.:/app' command: rails s -b '0.0.0.0' env_file: – '.env' volumes: […]

在构build期间在dockerized rails应用程序中使用私有Github存储库

我用docker-compose.ymldocker化了一个新的Rails 5应用程序,并且将我的ssh-agent套接字转发到了撰写文件中的容器中。 如果我通过docker构build和运行,这是工作正常,我可以访问SSH密钥。 但是,如果将bundle install添加到从私有Git存储库获取并需要SSH密钥的构build过程中,则当然还不可用。 我该如何解决这个问题? 我目前的Dockerfile和docker-compose.yml文件是: https ://gist.github.com/solars/d9ffbc4c570e9a128d6b0254268d785a 谢谢!