Tag: ruby在轨道

gem:找不到命令

我有build立gem文件的bash文件,并启动我的程序: cd /src/stackify-api rm *.gem gem build stackify.gemspec gem install stackify-0.1.0.gem cd /src/stackify-classificator rm *.gem gem build stackify-classificator.gemspec gem install stackify-classificator-0.1.1.gem cd /src/bin ruby console-task.rb 我在docker集装箱中使用它。 它工作正常,如果我交互启动容器并手动运行这个bash文件: ~ » docker run -it -v /mnt/lacie/online/btsync/development:/src stack_rvm /bin/bash root@898cec6a7d85:/# /src/build.sh … Successfully built RubyGem Name: stackify Version: 0.1.0 File: stackify-0.1.0.gem 但是当我试图在Docker中启动这个脚本时,我得到错误消息: ~ » docker run -it -v […]

我怎样才能读取httpstream请求的第一个响应

当我在ruby脚本中对curl http://localhost:7788/containers/sampe/stats发出请求时。 它会得到一个每秒接收数据的httpstream。 该请求将不会被断开。 在使用Ruby获取JSON格式的第一个响应之后,如何断开请求 {"read":"2015-07-17T15:47:20.253706054+08:00","network":{"rx_bytes":1526,"rx_packets":19,"rx_errors":0,"rx_dropped":0,"tx_bytes":738,"tx_packets":9,"tx_errors":0,"tx_dropped":0},"precpu_stats":{"cpu_usage":{"total_usage":0,"percpu_usage":null,"usage_in_kernelmode":0,"usage_in_usermode":0},"system_cpu_usage":0,"throttling_data":{"periods":0,"throttled_periods":0,"throttled_time":0}},"cpu_stats":{"cpu_usage":{"total_usage":1024776164,"percpu_usage":[180823377,321637272,276090785,246224730],"usage_in_kernelmode":240000000,"usage_in_usermode":560000000},"system_cpu_usage":19962290000000,"throttling_data":{"periods":0,"throttled_periods":0,"throttled_time":0}},"memory_stats":{"usage":90214400,"max_usage":90451968,"stats":{"active_anon":34742272,"active_file":9658368,"cache":55472128,"hierarchical_memory_limit":1073741824,"inactive_anon":0,"inactive_file":45813760,"mapped_file":30703616,"pgfault":12415,"pgmajfault":286,"pgpgin":23508,"pgpgout":1483,"rss":34742272,"rss_huge":0,"total_active_anon":34742272,"total_active_file":9658368,"total_cache":55472128,"total_inactive_anon":0,"total_inactive_file":45813760,"total_mapped_file":30703616,"total_pgfault":12415,"total_pgmajfault":286,"total_pgpgin":23508,"total_pgpgout":1483,"total_rss":34742272,"total_rss_huge":0,"total_unevictable":0,"total_writeback":0,"unevictable":0,"writeback":0},"failcnt":0,"limit":1073741824},"blkio_stats":{"io_service_bytes_recursive":[],"io_serviced_recursive":[],"io_queue_recursive":[],"io_service_time_recursive":[],"io_wait_time_recursive":[],"io_merged_recursive":[],"io_time_recursive":[],"sectors_recursive":[]}} {"read":"2015-07-17T15:47:20.253706054+08:00","network":{"rx_bytes":1526,"rx_packets":19,"rx_errors":0,"rx_dropped":0,"tx_bytes":738,"tx_packets":9,"tx_errors":0,"tx_dropped":0},"precpu_stats":{"cpu_usage":{"total_usage":0,"percpu_usage":null,"usage_in_kernelmode":0,"usage_in_usermode":0},"system_cpu_usage":0,"throttling_data":{"periods":0,"throttled_periods":0,"throttled_time":0}},"cpu_stats":{"cpu_usage":{"total_usage":1024776164,"percpu_usage":[180823377,321637272,276090785,246224730],"usage_in_kernelmode":240000000,"usage_in_usermode":560000000},"system_cpu_usage":19962290000000,"throttling_data":{"periods":0,"throttled_periods":0,"throttled_time":0}},"memory_stats":{"usage":90214400,"max_usage":90451968,"stats":{"active_anon":34742272,"active_file":9658368,"cache":55472128,"hierarchical_memory_limit":1073741824,"inactive_anon":0,"inactive_file":45813760,"mapped_file":30703616,"pgfault":12415,"pgmajfault":286,"pgpgin":23508,"pgpgout":1483,"rss":34742272,"rss_huge":0,"total_active_anon":34742272,"total_active_file":9658368,"total_cache":55472128,"total_inactive_anon":0,"total_inactive_file":45813760,"total_mapped_file":30703616,"total_pgfault":12415,"total_pgmajfault":286,"total_pgpgin":23508,"total_pgpgout":1483,"total_rss":34742272,"total_rss_huge":0,"total_unevictable":0,"total_writeback":0,"unevictable":0,"writeback":0},"failcnt":0,"limit":1073741824},"blkio_stats":{"io_service_bytes_recursive":[],"io_serviced_recursive":[],"io_queue_recursive":[],"io_service_time_recursive":[],"io_wait_time_recursive":[],"io_merged_recursive":[],"io_time_recursive":[],"sectors_recursive":[]}}

在Travis-ci上的Docker容器

我有一个Dockerfile,我试图使用RSpec,serverspec和docker-api进行testing。 在本地(使用boot2docker,因为我在OS X上)这个工程很好,所有我的testing通过,但在travis-ci没有testing通过。 我的.travis.yml文件是这样的: language: ruby rvm: – "2.2.0" sudo: required cache: bundler services: – docker before_install: – docker build -t tomasbasham/nginx . – docker run -d -p 80:80 -p 443:443 –name nginx -v $(pwd)/nginx.conf:/etc/nginx/nginx.conf tomasbasham/nginx script: bundle exec rspec 我在这里做了一些明显的错误吗? 我已经创build并在travis-ci上运行的存储库位于GitHub上 。 可能还有一些我不知道的错误

Dockerize Ruby脚本,将目录作为input/输出

我是docker的新手,我需要帮助dockerize一个ruby脚本,它需要一个input目录和输出目录。 即generate_rr_pair.rb BuildRR -n /data/ -o /output 脚本是做什么的,它会采取-n选项(input),并检查目录是否存在,如果它使用里面的文件作为input。 脚本将输出数据到-o选项(输出)。 如果输出目录不存在,脚本将在那里创build目录和输出文件。 我如何创build一个Dockerfile来处理这个? 我应该把它们作为环境variables吗? 或者我应该使用安装的卷? 但是由于脚本处理fileIO,我不确定是否需要卷。 input目录应该已经存在于主机上,并且输出目录将被创build。 这两个目录,应该停留在docker集装箱停止后。

在Linux上运行时gsub编码错误Docker容器US-ASCII中的无效字节序列

我有一个string,我从"\r\n"为"\n"行结束使用: input.gsub(/\r\n?/, "\n") 当我在Windows主机上运行它时,它工作正常。 当我运行在我的Linux主机上,在一个泊坞窗容器中,我得到这个错误: in `gsub': invalid byte sequence in US-ASCII (ArgumentError) 我正在运行Ruby 2.2。

dockerapache乘客:错误不能加载这样的文件捆绑器/设置(LoadError)

我试图build立一个运行Apache(+乘客),铁路和shibbolethdocker形象。 不幸的是,我不能得到apache +乘客运行…我欣赏每一个提示! 也许这是一个权限问题? 一切都以root身份进行安装,但显然有些进程是以nobody身份运行的(如错误日志所示)。 我的docker基础图像是“ruby:2.0.0”(debian 8)。 在这个图像中,我通过apt-get和乘客通过“gem install passenger -v 4.0.59”安装了apache2,apache2-threaded-dev,libapr1-dev,libaprutil1-dev。 在此之后,我使用passenger-install-apache2-module来安装模块。 这里是错误日志: cannot load such file — bundler/setup (LoadError) /usr/local/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require' /usr/local/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require' /usr/lib/ruby/vendor_ruby/phusion_passenger/loader_shared_helpers.rb:411:in `activate_gem' /usr/lib/ruby/vendor_ruby/phusion_passenger/loader_shared_helpers.rb:295:in `block in run_load_path_setup_code' /usr/lib/ruby/vendor_ruby/phusion_passenger/loader_shared_helpers.rb:416:in `running_bundler' /usr/lib/ruby/vendor_ruby/phusion_passenger/loader_shared_helpers.rb:294:in `run_load_path_setup_code' /usr/share/passenger/helper-scripts/rack-preloader.rb:99:in `preload_app' /usr/share/passenger/helper-scripts/rack-preloader.rb:153:in `<module:App>' /usr/share/passenger/helper-scripts/rack-preloader.rb:29:in `<module:PhusionPassenger>' /usr/share/passenger/helper-scripts/rack-preloader.rb:28:in `<main>' Environment (value of RAILS_ENV, RACK_ENV, WSGI_ENV, NODE_ENV and PASSENGER_APP_ENV) development Ruby interpreter […]

在Docker容器中访问Sinatra应用程序的问题

我有一个sinatra API服务器,我可以成功运行本地端口9292我想在一个容器中运行。 我用以下创build一个Dockerfile: FROM ruby:2.2.0 RUN apt-get update -qq && \ apt-get install -y build-essential libpq-dev nodejs –no-install-recommends && \ rm -rf /var/lib/apt/lists/* && \ mkdir /myapp WORKDIR /myapp ADD . /myapp RUN bundle install EXPOSE 9292 CMD bundle exec rackup config.ru 在构build映像后,我运行以下命令启动容器: docker run -it -p 9292:9292 –rm api-server 我确认该应用程序已启动并正在运行,并提供了其他详细信息: Listening on localhost:9292, CTRL+C […]

如何更改Rails基础Docker镜像的Ruby和Rails版本?

Docker基本的图像轨道为Ruby on Rails提供了一个完整的环境。 它从ruby上游图像中拉出。 rails基础图像指定了Ruby和Ruby on Rails版本。 如果我们想要使用不同的Ruby和Ruby on Rails版本呢? 我们在我们的项目文件夹中编辑我们的Dockerfile吗? 或者,我们进入机器,安装我们想要的ruby版本,然后build立自己的图像? 更多细节: rails的基础图像文档说,你的doc文件可以简单地是一行代码: FROM rails:onbuild 这行代码从Docker Hub上的rails图像中提取。 这个图像有它自己的Dockerfile。 这个Dockerfile的第一行是FROM ruby:2.2 。 为了重申这个问题,使用不同的Ruby和Ruby on Rails版本创build基于rails图像的容器的最佳方式是什么? 如果可能的话,一些示例代码可能有助于理解如何做到这一点。

configurationriak-ruby使用docker集群

我使用以下方法安装了一个riak群集: http : //basho.com/posts/technical/riak-quick-start-with-docker/ 在http://basho.github.io/riak-ruby-client/上尝试非常基本的命令时,客户端挂在a.store 我运行我的docker在虚拟机的虚拟机,它的IP是192.168.99.101 riak集群容器 5c896346de61 hectcastro/riak "/sbin/my_init –quie" 46 seconds ago Up 44 seconds 0.0.0.0:32777->8087/tcp, 0.0.0.0:32776->8098/tcp riak05 f32b9af999cf hectcastro/riak "/sbin/my_init –quie" 50 seconds ago Up 48 seconds 0.0.0.0:32775->8087/tcp, 0.0.0.0:32774->8098/tcp riak04 891e5e63a4b2 hectcastro/riak "/sbin/my_init –quie" About a minute ago Up 58 seconds 0.0.0.0:32773->8087/tcp, 0.0.0.0:32772->8098/tcp riak03 65848cd3e218 hectcastro/riak "/sbin/my_init –quie" About a minute ago […]

使用宙斯与Rails 3和docker工人

我们有一个Rails 3.2.9应用程序,最近在开发中切换到了Docker。 到目前为止,我一直在我的机器上使用zeus来预装代码库,并且更快地执行Rspec的testing。 但是,你将如何与docker实现这一点? 当我尝试安装宙斯与我的容器与gem install zeus并开始与zeus start我得到 Unable to accept socket connection. It looks like Zeus is already running. If not, remove .zeus.sock and try again. 在我的文件系统中有一个.zeus.soc (注意最后缺less的k )。 有没有人得到这个与Docker的工作?