Tag: ruby在轨道

用docker&fig。创build一个ruby dev env的无效参数

尝试使用fig和docker获得开发环境设置,并且我不断收到“无效参数”错误。 $ fig up Recreating website_db_1… Recreating website_web_1… invalid argument Dockerfile通过fig和docker构build。 fig.yml db: image: "postgres:9.3" ports: – 5432 volumes: – ./data:/var/lib/postgresql/data/ web: build: . command: bundle exec rails server volumes: – .:/usr/src/app/ ports: – "3000:3000" links: – db Dockerfile FROM ruby:1.9.3-p547 RUN bundle config –global frozen 1 RUN mkdir -p /usr/src/app

在同一主机上托pipe多个微服务的devise方法

我正在开发一个Web应用程序,将它解耦在多个容器化的微服务中。 我现在有大约20个服务,但整个系统肯定需要300多个。现在和将来的大部分服务不需要整个机器,所以我将在同一个主机上部署多个服务。 我想知道其他人如何处理服务间通信。 我最喜欢的方式是与基于REST的通信,但… 在同一台机器上运行多个Web服务器不是太重了吗? 我正在用Ruby开发,但即使像Puma这样的轻量级Web服务器也可以消耗大量的内存 我开始使用UNIX套接字编写自定义通信通道。 所以,我将启动一个Web服务器,我的“路由器”应用程序将通过UNIX套接字与该主机上当前正在运行的服务进行通信。 但是我不知道是否值得这个努力,最重要的是,所有的服务都必须被编写和定制来使用这种通信。 我相信很难使用Ruby-on-Rails或其他语言的框架,甚至不同的语言,这些语言都是微服务架构的吸引力。 我觉得我正试图重新发明轮子。 那么,有人可以build议一个更好的方法或投票我目前的一个? 我感谢任何帮助, 谢谢,

boot2docker无法访问外部世界

在OSX上,通过boot2docker,我有一个Ruby应用程序运行在泊坞窗容器中的应用程序。 但是,似乎无法访问第三方API。 下面的代码在Docker容器外工作,但不在里面: response = HTTParty.get('https://api.stackexchange.com/2.2/questions?site=stackoverflow') 从Docker容器中运行请求超时时: SocketError: getaddrinfo: Name or service not known 在这一点上,我认为这个问题可能与boot2docker的设置有关,如下所示: boot2docker ssh ping stackexchange.com 那么它超时。 我使用OSX 10.10.3,boot2docker 1.50和docker-compose

尽pipe一切似乎正确,乘客仍然在生产中运行?

我在Phusion提供的Docker容器( https://github.com/phusion/passenger-docker )中运行Passenger,并使用以下命令将我的Rails环境设置为dev设置: docker run -rm -p 80:80 -e RAILS_ENV=development <image_name> 然而,乘客继续只在生产模式下运行。 这会导致什么?

使用docker-compose(以前的图)链接一个cron图像

我使用docker-compose(之前的图)像这样在docker中运行一个简单的rails应用程序: 泊坞窗,compose.yml db: image: postgres volumes: – pgdata:/var/lib/postgresql/data web: build: . command: bundle exec rails s -b 0.0.0.0 volumes: – .:/usr/src/app ports: – "3011:3000" links: – db Dockerfile FROM rails:onbuild 我需要运行一些定期的维护脚本,比如数据库备份,pingsearch引擎的站点地图等。 我不想在我的主机上使用cron,因为我更喜欢保持应用程序的可移植性,我的想法是使用docker-compose来链接一个图像,例如https://registry.hub.docker.com/u/ hamiltont / docker-cron /使用docker撰写。 rails官方镜像没有启用ssh,所以我不能只有cron容器ssh进入web容器并运行脚本。 docker-compose有一个方法让容器获得一个shell到一个链接容器来执行一些命令吗?

SocketError:没有这样的文件或目录 – 连接(2)/var/run/docker.sock

我正在试图在rails应用程序中运行一个docker容器,但是我一直收到以下错误: container = Docker::Container.create({'Image' => 'mitc/judge'}) Excon :: Errors :: SocketError:没有这样的文件或目录 – connect(2)for /var/run/docker.sock(Errno :: ENOENT) 环境variables已设置 bash-3.2$ env | grep DOCKER DOCKER_HOST=tcp://192.168.99.100:2376 DOCKER_TLS_VERIFY=1 DOCKER_CERT_PATH=/Users/ayushlodha/.docker/machine/machines/dev 容器能够运行hello world bash-3.2$ docker run mitc/judge /bin/echo 'Hello world' Hello world bash-3.2$ docker run -it mitc/judge judge@4a19cdd8b328:/tmp/judge$ 我正在使用Mac和Kitematic。 我错过了什么?

Docker rails运行服务器

我是Docker的新手。 我有一个容器,我安装了Ubuntu的。 我也安装了ruby和rails框架。 我想运行rails server,并在localhost:3000或其他端口上查看我的页面。 要执行一个容器我做: docker exec -it <CONTAINER_ID> /bin/bash. 容器内我只是做: root@ed2727e0cd0f:/home/myrails/myPage: rails server => Booting WEBrick => Rails 4.2.3 application starting in development on http://localhost:3000 => Run `rails server -h` for more startup options => Ctrl-C to shutdown server [2015-08-08 13:29:07] INFO WEBrick 1.3.1 [2015-08-08 13:29:07] INFO ruby 2.2.1 (2015-02-26) [x86_64-linux] [2015-08-08 13:29:07] […]

在Ruby on Rails中使用Docker时控制台不会显示

我一直在试图使用Docker进行开发,它工作得很好,但让我恼火的事情之一是无法看到控制台打印。 Rails服务器(完全相同的应用程序): Started GET "/" for ::1 at 2015-10-14 22:18:28 +0200 Processing by PagesController#home as HTML foobar Rendered pages/home.html.erb within layouts/home (0.0ms) Completed 200 OK in 20ms (Views: 19.7ms | ActiveRecord: 0.0ms) 泊坞窗: Started GET "/" for 192.168.99.1 at 2015-10-14 20:18:44 +0000 Processing by PagesController#home as HTML Rendered pages/home.html.erb within layouts/home (0.1ms) Completed 200 OK […]

如何使用docker构buildsidekiq和rails图像?

我正在尝试另一种方式来将一个rails应用程序构build到docker镜像中。 我的服务的结构: redis – 来自官方docker中心registry fluentd – 来自官方docker中心registry MySQL – 从官方docker中心registry sidekiq – build立自己(也许没有这个官方形象) 网站 – build立自己 我创build了两个Dockerfiles: Dockerfile.sidekiq Dockerfile.web Dockerfile.sidekiq FROM ruby:2.2.2 ENV APP_HOME /myapp RUN mkdir $APP_HOME WORKDIR $APP_HOME ADD Gemfile $APP_HOME/Gemfile ADD Gemfile.lock $APP_HOME/Gemfile.lock ADD config/sidekiq.yml $APP_HOME/config/sidekiq.yml ADD init_sidekiq.sh $APP_HOME/ RUN export LANG=C.UTF-8 && bundle install ADD . $APP_HOME CMD ["sh", "init_sidekiq.sh"] […]

Docker撰写Rails

我正在试图在docker-compose.yml文件中复制这个docker命令 docker run –name rails -d -p 80:3000 -v "$PWD"/app:/www -w /www -ti rails 我的docker-compose.yml文件: rails: image: rails container_name: rails ports: – 80:3000 volumes: – ./app:/wwww 当我在做docker-compose up -d时 ,容器已经创build,但是没有开启。 当我添加tty:true到我的dockerdocker-compose.yml文件,容器启动良好,但我的卷没有安装。 我该如何复制docker -compose.yml中的docker命令?