Tag: ruby在轨道

如何为Ruby on Rails应用程序dockerize Slanger

Slanger是用Ruby编写的Pusher协议的开源服务器实现。 根据Slanger项目README.md,Slanger并不是为了在Rails中运行而devise的。 它不是为了在Rails或Sinatra应用程序中运行而devise的 将它与一个Ruby on Rails应用程序一起dockerize会很好。 将采取什么步骤来实现呢?

在特定的端口上运行Docker容器

DigitalOcean上有一个与Dokku一起部署的Rails应用程序。 我创build了一个Postgres数据库,并将其与Rails应用程序链接起来。 一切正常,直到我重新启动了液滴。 我发现应用程序停止工作,因为重新启动每个Docker容器得到一个新的端口和Rails应用程序无法连接到它。 如果我运行dokku postgresql:info myapp它显示旧的端口,但它已经改变。 如果我手动更改database.yml,并推到dokku回购一切正常。 那么如何防止每次服务器重新启动时Docker分配不同的端口? 或者也许有一个选项来更改正在运行的容器的端口。

在Docker上进行ruby捆绑优化

我是新来的docker工人,想知道如何重新build立docker图像ruby捆绑机的行为? 我第一次构build映像时,需要永久bundle install 。 当我在Gemfile中添加另一个gem时会发生什么? 有没有办法确保以前的gem在图像中以某种方式被caching,并用于这个新的捆绑? Dockerfile: FROM rails:onbuild RUN apt-get install -y imagemagick

如何捆绑安装本地pathgem与docker?

我正在使用docker和导轨。 我创build了一个本地的gem,并把它放到供应商/gem文件夹。 我将它添加到我的Gemfile中: gem 'my_gem', path: './vendor/gems/my_gem' 在我的Dockerfile中 RUN mkdir /testapp WORKDIR /testapp ADD Gemfile /testapp/Gemfile ADD Gemfile.lock /testapp/Gemfile.lock RUN bundle install ADD . /testapp 运行docker-compose build ,显示: The path `/testapp/vendor/gems/my_gem` does not exist. ERROR: Service 'web' failed to build: The command '/bin/sh -c bundle install' returned a non-zero code: 13

在docker中运行一个简单的ruby文件并将输出redirect到一个文件

假设我在当前目录下有一个ruby文件hello.rb: 把“你好世界” 我怎样才能运行一个docker镜像,它只是运行这个ruby文件,然后将输出保存到一个文件中。 什么是我可以使用的最小的dockerdocker图像? 我试过这个docker形象: https : //github.com/iron-io/dockers/tree/master/ruby 但我不知道如何正确运行它来做我想做的事情。

在Docker容器中请求特定的Ubuntu版本

大约两个月前,我开始使用Docker,并在一些帮助下得到了一个使用Ruby 1.9.1运行Ubuntu的容器。 这是我的Dockerfile的第一部分: FROM ubuntu # Add and update apt sources RUN apt-get update; apt-get -y upgrade # Add compiler package and ruby1.9.1 RUN apt-get install -y build-essential ruby1.9.1-dev RUN apt-get install -y nodejs RUN apt-get install -y npm 最近我的一个朋友想要使用相同的容器,但是当他试图使用该dockerfilebuild立一个图像时,他得到一个消息,说明'Package 'ruby1.9.1-dev' has no installation candidate' Package'ruby1.9.1 'Package 'ruby1.9.1-dev' has no installation candidate' ,我认为这意味着他实际上一个与我不同的Ubuntu实例(14.04 vs 12,一些沿着这些线的东西) […]

如何在docker-compse中获取容器的IP地址

我试图在开发中的docker容器中运行fake_sqs gem以testing我的SQS集成,并让另一个应用程序向其发送消息。 我的docker-compose文件如下所示: app: build: . command: bundle exec rails s Puma –port 3000 –binding 0.0.0.0 volumes: – ./:/app ports: – 3000:3000 links: – db:db environment: VIRTUAL_HOST: app.docker PGHOST: db PGUSER: postgres AWS_REGION: us-west-2 AWS_QUEUE_NAME: my-queue AWS_ENDPOINT: http://aws.docker:4568/ fakesqs: build: . command: fake_sqs -p 4568 volumes: – ./:/app ports: – 4568:4568 links: – db:db environment: […]

服务器是否在主机“localhost”(:: 1)上运行,并接受端口5432上的TCP / IP连接?

在安装Ruby on Rail时,我在本地系统上运行Docker实例时出现问题。 请参阅我的dockerconfiguration文件: – Dockerfile FROM ruby:2.3.1 RUN useradd -ms /bin/bash web RUN apt-get update -qq && apt-get install -y build-essential RUN apt-get -y install nginx RUN apt-get -y install sudo # for postgres RUN apt-get install -y libpq-dev # for nokogiri RUN apt-get install -y libxml2-dev libxslt1-dev # for a JS runtime RUN […]

Kubernetes – ReplicationController和永久磁盘

我遇到了一个Kubernetes相关的问题。 我刚刚从一个Podconfiguration移动到一个Ruby on Rails应用程序的一个ReplicationController控制器,我使用持久性磁盘的Rails窗格。 当我尝试应用ReplicationController时,会出现以下错误: The ReplicationController "cartelhouse-ror" is invalid. spec.template.spec.volumes[0].gcePersistentDisk.readOnly: Invalid value: false: must be true for replicated pods > 1; GCE PD can only be mounted on multiple machines if it is read-only 这是否意味着在使用ReplicationController时无法使用永久性磁盘(R / W),或者有其他方法吗? 如果不是,我如何扩展和/或将滚动更新应用到Podconfiguration? Podconfiguration: apiVersion: v1 kind: Pod metadata: name: appname labels: name: appname spec: containers: – image: gcr.io/proj/appname:tag […]

从Docker公开/发布端口

我有一个小的REST API在Docker容器中运行: [2015-10-15 10:47:05] INFO WEBrick 1.3.1 [2015-10-15 10:47:05] INFO ruby 2.2.3 (2015-08-18) [x86_64-linux] [2015-10-15 10:47:05] INFO WEBrick::HTTPServer#start: pid=8 port=9292 我有IP上的docker虚拟机: 192.168.99.100 我正在尝试发布/公开我的端口: docker run –publish 9292:9292 788a36b503e2 泊坞窗ps显示: CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 9d6b34469ebf 788a36b503e2 "/bin/sh -c 'rackup -" 45 seconds ago Up 44 seconds 0.0.0.0:9292->9292/tcp hopeful_bhaskara 而我正在尝试打击REST API: curl 192.168.99.100:9292/auth/3/xyz […]