Tag: ruby在轨道

乘客导轨日志泊坞窗日志不起作用

我想输出我的轨道5日志到标准输出,所以我可以使用dockerpipe理我的日志。 我已经将以下内容添加到我的application.rb文件中: if ENV["RAILS_LOG_TO_STDOUT"].present? logger = ActiveSupport::Logger.new(STDOUT) logger.formatter = config.log_formatter config.log_tags = [ :request_id, :subdomain, :uuid ] config.logger = ActiveSupport::TaggedLogging.new(logger) end 并在我的docker-compose.yml文件中: api: environment: – RAILS_LOG_TO_STDOUT=1 我可以看到envvariables被正确设置,当我去到rails控制台,应用程序不再写入log / development.log这是迄今为止的正确行为。 但是,当我尝试查看docker日志时: docker-compose logs -f api 我没有看到任何logging。 如果我删除了RAILS_LOG_TO_STDOUT env参数, RAILS_LOG_TO_STDOUT输出logging到log / development.log。 我使用的是phusion / passenger-ruby23作为我的基本形象。

将Gitlab 8.0.3迁移到docker Gitlab 9.4.3和数据retore

我们在生产环境中使用Gitlab CE 8.0.3版本。 我们使用omnibus软件包将其安装在Centos7虚拟机中。 我们想通过将它传递给最新版本的gitlab(版本9.4.3)来进行更新,并从8.0.3版本中恢复数据。 同时,我们希望将新的gitlab安装在虚拟机中托pipe的Docker容器中,而不是安装生产gitlab的容器。 我们面临的问题是: 如何以最less的停机时间进行迁移? 是否可以直接从版本8.0.3切换到版本9.4.3? 我们如何在新版本的gitlab中恢复应用程序数据(项目,用户,组等)? 我们试图从我们在生产中运行的gitlab中备份数据,并使用gitlab-rake将它们恢复到容器化的gitlab 9.4.3中,但是我们有一个错误信息说不能恢复8.0.3数据9.4.3 gitlab。 感谢您的答案!

使用docker-compose公开容器端口到本地主机

我有一个rails应用程序,我使用docker-compose来启动docker容器。 $ docker-compose -f docker-compose.yml up -d 但我无法访问我的服务器的IP地址(即server's public ip address : port )我的应用程序。 这是我的docker-compose文件: version: '3' volumes: database: app: search_conf: services: pgsql: container_name: pgsql image: postgres volumes: – database:/var/lib/postgresql/data sphinx: container_name: sphinx image: leodido/sphinxsearch:2.2.9 hostname: sphinx command: searchd.sh links: – pgsql volumes: – app:/app – search_conf:/usr/local/etc/ foobar: container_name: foobar env_file: .env.dev links: – pgsql […]

使用docker运行旧的rails 2.x,如何检查docker文件?

我试图运行这个docker图像,但我需要阅读dockerfile来了解它的期望。 如何查看Docker文件: https : //hub.docker.com/r/honigwasser/base-rails-ruby-2.3/ 当我运行docker映像时,出现这个错误: *** Running /etc/my_init.d/00_clean_rails_dir.sh… *** Running /etc/my_init.d/01_read_secrets.sh… Not reading secrets from Vault (READ_SECRETS_FROM_VAULT != true) *** Running /etc/rc.local… *** Booting runit daemon… *** Runit started as PID 10 Could not locate Gemfile or .bundle/ directory Could not locate Gemfile or .bundle/ directory Could not locate Gemfile or .bundle/ directory Could […]

错误:在Dockerfile中找不到EXPOSE指令,中止部署+ AWS + RAILS + DOCKER

我通过Docker将代码部署到AWS EC2时出现错误,我对Docker和AWS(首次部署)非常新,下面是我的configuration文件。 Dockerrun.aws.json { "AWSEBDockerrunVersion": 2, "volumes": [ { "name": "run_folder", "host": { "sourcePath": "/home/ravindra.yadav/run" } }, { "name": "assets_folder", "host": { "sourcePath": "/home/ravindra.yadav/assets" } }, { "name": "log_folder", "host": { "sourcePath": "/home/ravindra.yadav/log" } } ], "containerDefinitions": [ { "name": "postgres", "image": "postgres:9.5.1", "essential": true, "mountPoints": [ { "sourceVolume": "run_folder", "containerPath": "/var/run" }, { "sourceVolume": […]

在couchdb docker镜像中安装soca gem时出错

我试图运行下面的Docker文件,但是当它试图安装gem“soca”它总是失败,跟随错误 错误: Building native extensions. This could take a while… ERROR: Error installing soca: ERROR: Failed to build gem native extension. /usr/bin/ruby2.1 extconf.rb checking for re.h… no creating Makefile make "DESTDIR=" clean make "DESTDIR=" compiling parser.c In file included from /usr/include/ruby-2.1.0/ruby.h:33:0, from parser.h:4, from parser.rl:1: parser.rl: In function 'JSON_parse_object': /usr/include/ruby-2.1.0/ruby/ruby.h:437:18: error: expected '(' before '!' […]

将大型csv文件导入AWS ECS容器上的Rails应用程序时出错

我试着用2700行上传一个csv,我的服务(在AWS上运行的一个Docker容器中)在几秒钟后停止运行,但是上传完成(因为所有数据都存在于我的数据库中)。 日志(cloudwatch)不显示任何错误,而是服务停止并重新启动(有时成功,有时不成功)。 我发现Heroku在这里有一个类似的问题,答案是Heroku在所有请求中都有30秒的超时,AWS有类似的东西吗? 如果不是如何克服这一点,因为在我的工作场所CSV上传频繁。 谢谢。

两个孤立的docker,铁轨和python,如何从Rails应用程序调用Python

我有两个docker集装箱。 一个是rails应用程序,另一个包含一个python项目。 这是问题。 一旦从rails中点击一个button,如何调用python脚本。

泊坞窗撰写rails应用程序正在请求迁移,当它已经在内部运行时运行

所以我已经预先build立了一个rails应用程序的docker镜像。 当图像被build立时,迁移被运行。 当我与docker run图像docker run一切正常。 但是当我尝试运行docker-compose文件时,当我访问应用程序时,它告诉我需要运行迁移,但迁移是在构build步骤中运行的。 文件夹结构: root/ my_app/ Dockerfile docker-compose 以下是我采取的步骤: 我运行docker build -t my_app . 在Dockerfile上: FROM ruby:2.4-jessie WORKDIR /usr/src/app COPY ./my_app/Gemfile* ./ RUN bundle install COPY ./my_app . EXPOSE 3000 RUN rails db:migrate CMD ["rails", "server", "-b", "0.0.0.0"] 它build立良好,我可以看到迁移成功运行。 接下来,我使用docker run -p 3000:3000 my_app运行它 我在浏览器中访问它,一切都很好。 接下来,我在docker-compose文件上运行docker-compose up : version: '3' services: my-app-container: […]

在同一主机/不同端口上运行不同的docker容器

我有一个由多个导轨项目组成的应用程序,我试图dockerize他们,每个应用程序启动一个不同的导轨端口: 主要应用程序:1665 pipe理员:3002 网站:3000 … 这是我的docker-compose.yml文件: version: '2' services: db: image: postgres:9.6 container_name: acme_db hostname: db.myapp.dev hostname: db.ach ports: – "5432:5432" volumes: – myapp_pgdata:/var/lib/postgresql/data/pgdata environment: – PGDATA=/var/lib/postgresql/data/pgdata – VIRTUAL_HOST=db.myapp.dev networks: – generic myapp: image: acme/myapp container_name: acme_myapp hostname: app.myapp.dev command: rails s -p 1665 -b '0.0.0.0' volumes: – ./myapp:/usr/src/app – $SSH_AUTH_SOCK:/tmp/ssh_auth_sock ports: – "1665:1665" depends_on: […]