Tag: ruby on rails

web_1 | /docker-entrypoint.sh:第99行:exec:bundle:未findapp_web_1用代码127退出

我正在尝试使用docker将现有的rails项目推送到docker容器。 我正在使用postgres数据库。 当我做了$> docker-compose up 我在日志中遇到以下错误。 web_1 | /docker-entrypoint.sh: line 99: exec: bundle: not found app_web_1 exited with code 127 – # Dockerfile FROM ruby:2.2.0 RUN apt-get update -qq && apt-get install -y build-essential libpq-dev nodejs RUN mkdir /myapp WORKDIR /myapp ADD Gemfile /myapp/Gemfile ADD Gemfile.lock /myapp/Gemfile.lock RUN gem install bundler RUN bundle install ADD […]

在Dockerfile中从Github捆绑

我试图将我们的Rails应用程序移到Docker部署,但是我无法设法从Github引用中获取安装包。 使用下面的Dockerfile: FROM ruby:2.3.0-slim MAINTAINER Chris Jewell <chrisjohnjewell@gmail.com> # Install dependencies: # – build-essential: To ensure certain gems can be compiled # – nodejs: Compile assets # – libpq-dev: Communicate with postgres through the postgres gem # – postgresql-client-9.4: In case you want to talk directly to postgres RUN apt-get update && apt-get install -qq […]

在Docker上捆绑安装失败

我在我的Rails应用程序中使用Docker。 现在我尝试在新机器上构build它,并且遇到一些问题。 当我运行docker-compose -f dcom-dev.yml run –user $(id -u) web bundle install它开始工作,但失败 An error occurred while installing debug_inspector (0.0.2), and Bundler cannot continue. Make sure that `gem install debug_inspector -v '0.0.2'` succeeds before bundling. 如果我尝试docker-compose -f dcom-dev.yml run –user $(id -u) web gem install debug_inspector -v '0.0.2'它成功执行,告诉gem的intalled。 在安装捆绑产生可怕的输出,如: Errno::EACCES: Permission denied @ rb_sysopen – /bundler_cache/extensions/x86_64-linux/2.3.0-static/pg-0.18.4/gem_make.out […]

如何在Docker中设置Puma worker,Rails的线程

我最近在Docker上部署了一个Rails应用程序到Amazon ECS。 我的应用程序使用两个容器 – 一个用于应用程序,Puma作为应用程序服务器,另一个用于nginx,作为应用程序的反向代理。 我正在使用2个工人和5个线程的默认彪马configuration。 我在t2.small上运行这个实例。 我们开始看到应用程序最终会开始超时的问题。 用户不会得到任何回应,或者最终会从负载均衡器中获得504错误的网关错误。 在Rails日志中,我们会看到在没有非常特殊的情况下,请求会突然开始太长(800秒!)。 几分钟后,彪马将开始一个新的工人,它会恢复正常。 我在Puma的文档中读到,你应该设置工作人员等于CPU核心的数量,在t2.small上是1,所以我这样做了。 我也读过,如果你不确定你的应用程序是否是线程安全的,你不应该搞砸了,所以我把线程设置为1。 1名工人,1个线程。 整天都很好 – 迄今为止。 我将如何获得更多的并发性? 该应用程序几乎没有使用内存或CPU – 我应该旋转更多的任务(1任务= 1轨道容器+ 1个Nginx容器)? 如果我在Puma面前有nginx,我甚至需要担心吗?

在docker集装箱之间进行代理

我有一个docker设置与以下 rails api后端 MySQL数据库 redis db 节点/反应前端(webpack) nginx服务于前端 (rails后端目前正在通过内置的美洲狮服务器 – 我想我会把它移动到相同的nginx服务器运行节点应用程序) 我的问题是,前端将请求在后端的东西,但这是行不通的。 我已经在nginx上设置了一个代理,如下所示: #nginx.conf server { listen 8080; # Always serve index.html for any request location / { # Set path root /wwwroot/; try_files $uri /index.html; } location /api/ { proxy_pass http://127.0.0.1:3000; } } 但是当我启动api调用时,我在nginx日志中得到以下内容: nginx-server | 2017/05/13 20:56:08 [error] 5#5: *19 connect() failed (111: […]

Dockerfile – 如何运行脚本?

创build一个docker文件,但无法运行轨道设置脚本,即./bin/setup执行 我究竟做错了什么? RUN /bin/bash -C "/usr/src/app/bin/setup"不起作用。 我也试过这个RUN ./bin/setup (这也行不通!) Dockerfile FROM ruby:2.3 RUN apt-get update && apt-get install -y nodejs –no-install-recommends && rm -rf /var/lib/apt/lists/* ENV RAILS_VERSION 5 RUN gem install rails –version "$RAILS_VERSION" WORKDIR /usr/src/app COPY . . # setup does not run, why? RUN /bin/bash -C "/usr/src/app/bin/setup" …

在官方Ruby映像的Docker容器上运行Rails应用程序时出错

我从docker中心拉的官方ruby图像。 由于官方的Rails镜像已经被弃用了,我觉得在Ruby容器里使用我的rails开发。 在Ruby容器里面,我做了gem install rails –version=5.1.1 。 我创build了一个rails应用程序,当我做rails s ,会抛出以下错误。 问题是什么? 我需要安装额外的依赖关系吗? 这是一个nodejs相关的问题,我认为这是不是预先安装在Ruby映像? bin/rails:3:in `load' bin/rails:3:in `<main>' Bundler Error Backtrace: from /usr/local/lib/ruby/gems/2.4.0/gems/bundler-1.14.6/lib/bundler/runtime.rb:90:in `block (2 levels) in require' : : from /home/blog/config/application.rb:7:in `<top (required)>' : : from /usr/local/bundle/gems/railties-5.1.1/lib/rails/command.rb:44:in `invoke' from /usr/local/bundle/gems/railties-5.1.1/lib/rails/commands.rb:16:in `<top (required)>' from /home/blog/bin/rails:9:in `require' from /home/blog/bin/rails:9:in `<top (required)>' from /usr/local/bundle/gems/spring-2.0.2/lib/spring/client/rails.rb:28:in `load' : : from […]

在生产中访问主机不同的端口

即时通讯使用Vue.js作为前端和Rails作为后端的应用程序,所有与Docker开发和生产运行的应用程序。 在开发中,我可以使用localhos:8080(前端)访问服务,并使用localhost:5678(rails端口)向后端url请求。 但是当我部署到生产,这有一个域名(www.websiteurl.com),我可以查看前端,但不能访问backen,我无法提出任何请求。 我试图向www.websiteurl.com:5678发出请求,但没有任何反应,我如何才能使用域名访问后端端口? ps1:对不起,如果问题不够清楚,随意问任何问题ps2:我已经正确设置后端的CORS访问ps3:如果我通过IP访问生产服务器,它工作正常,问题是当我访问通过域名 更新:用于运行前端的命令: docker build -t runaterra:ekko . docker run -d \ -w /runaterra-ekko/ \ -p 80:8080 \ –name ekko \ –restart unless-stopped \ runaterra:ekko npm run dev 用于运行后端的命令: docker-compose up -d –restart unless-stopped db docker-compose build app docker-compose run –rm app rake db:migrate docker-compose up -d –restart unless-stopped app

我应该使用哪个官方Docker镜像来运行具有多个依赖关系的应用程序?

我有一个Ruby Web应用程序部署,使用Docker容器具有以下依赖项。 ruby(V2.3.1) RVM MongoDB (这将最终运行在自己的容器中) Nginx的 我已经尝试从官方的centos:latest形象开始,然后安装这些依赖关系,但由于也有官方的图像为Ruby,RVM,MongoDB和Nginx,我觉得我错过了使用这些,并复制努力。 是否有可能使用多个官方docker图像来完成?

如何使用GitLab CI + Docker + Ansible部署Rails应用程序?

我有一个托pipe的GitLab与一些Ruby on Rails项目。 我有一个CI脚本,用该项目构build一个Docker镜像并将其推送到GitLabregistry。 最后,我需要将该映像部署到临时服务器。 stages: – test – build – deploy # … build_image: stage: build image: docker:latest services: – docker:dind variables: DOCKER_DRIVER: overlay script: – docker login -u gitlab-ci-token -p $CI_BUILD_TOKEN gitlab.host.com:4567 – docker build -t gitlab.host.com:4567/group/app:$CI_BUILD_REF_NAME . – docker push gitlab.host.com:4567/group/app:$CI_BUILD_REF_NAME only: – master 我想用Ansible来做,但是不知道怎么做。 也许有人可以推荐要查找什么或读什么? 感谢名单