小编Kin*_*ina的帖子

如何在Amazon Elastic Beanstalk单容器Docker环境中运行Rails迁移和种子设定

我正在使用docker将Rails应用程序部署到Elastic Beanstalk,到目前为止一切都已成功.我正处于应用程序需要运行数据库的迁移和种子的位置,而我无法确定我需要如何继续进行.看来该/.ebextensions文件夹中的任何命令都在主机的上下文中运行,而不是在docker容器中运行.那是对的吗?

我可以在启动后运行命令在docker容器内执行迁移,但是如何确保迁移仅在单个实例上运行?是否有环境变量或其他方式我可以在docker容器中告诉哪个机器是领导者?


更新:在Amazon Elastic Beanstalk论坛上发布了一个问题,询问如何在6月8日/ 8月15日运行"来自容器上的Docker主机的命令 ".你可以在那里关注对话,但它们很有用.

ruby-on-rails docker amazon-elastic-beanstalk

9
推荐指数
2
解决办法
4011
查看次数

如何在 AWS Elastic Beanstalk 上安装音频波形程序

仅供参考......这里的上下文是AWS Elastic Beanstalk。我正在尝试在 64 位 Amazon Linux 2015.03 v1.4.3(客户 AMI ID 为)上安装音频波形程序ami-6b50291c。运行这个...

$ sudo yum install git cmake libmad-devel libsndfile-devel gd-devel boost-devel
Run Code Online (Sandbox Code Playgroud)

... 成功安装除libmad-develand之外的所有软件包libsndfile-devel。以下是相关输出...

Failed to set locale, defaulting to C
Loaded plugins: priorities, update-motd, upgrade-helper
amzn-main/2015.03                                                        | 2.1 kB     00:00     
amzn-updates/2015.03                                                     | 2.3 kB     00:00     
Package git-2.1.0-1.38.amzn1.x86_64 already installed and latest version
Package cmake-2.8.12-2.20.amzn1.x86_64 already installed and latest version
No package libmad-devel available.
No package libsndfile-devel available.
Package gd-devel-2.0.35-11.10.amzn1.x86_64 …
Run Code Online (Sandbox Code Playgroud)

amazon-ec2 amazon-web-services amazon-elastic-beanstalk

6
推荐指数
1
解决办法
1570
查看次数

如何在单个容器Docker环境中的Amazon Elastic Beanstalk上部署Rails应用程序

我一直在尝试将我的Rails应用程序停靠在Elastic Beanstalk上.有很多例子,但大多数都不适合我的具体用例.那是:

  • 在单个容器Docker环境下运行(所以不需要docker-compose/fig)
  • 在Amazon Elastic Beanstalk上运行.
  • 利用乘客码头作为基本图像(Ruby变体之一).
  • 传递由Elastic Beanstalk设置的环境变量(通过控制台的CLI).
  • 容器中的Nginx和Passenger.
  • 能够安装自定义包(扩展它).
  • 合理的.dockerignore文件.

关于如何部署的过程不是问题,而是适用于具有上述特定标准的Amazon Elastic Beanstalk的Docker配置.

什么是正确的配置来运行?

ruby-on-rails docker amazon-elastic-beanstalk

6
推荐指数
1
解决办法
1485
查看次数

在AWS Elastic Beanstalk上禁用Phusion Passenger(独立)错误页面?

何时弹性豆茎部署应用程序时,是有可能禁用由乘客的Phusion(独立)中所示的错误页?特别是在生产中.这个页面包含一个堆栈跟踪以及暴露的环境变量......在我看来这很危险.

快速重现此方法会引入语法错误(这不是唯一的方法).

我可以在这里看到(链接)它是可能的......只是不确定你如何在EB上做同样的事情.为了避免将来出现断链,我将在这里引用对话......一个人问:

我似乎记得在某个地方阅读,可以禁用乘客启动错误页面,显示你是否遗漏了宝石等.如果我没记错,我认为Phusion人员说生产环境中的默认行为是禁止此错误页面显示堆栈跟踪等.有没有办法使用当前版本的Passenger禁用此错误页面?

哪个Phusion家伙回复...

现在您只需编辑lib/phusion_passenger/templates中的模板即可.所有错误也会记录到Web服务器日志文件中.

虽然响应是一个积极的迹象,但它并没有真正解决我的问题...这是如何在EB上做的,我们都(几乎)知道EB比典型的自我管理服务器更紧凑.

passenger amazon-web-services amazon-elastic-beanstalk

5
推荐指数
1
解决办法
2335
查看次数

如何在Elastic Beanstalk上设置delayed_job时修复'require'错误

我无法在Elastic Beanstalk上运行delayed_jobs.我正在使用运行Ruby 2.1(Passenger Standalone)容器的64位Amazon Linux 2014.03 v1.0.0.

这是我的配置脚本(delayed_job.config)......

files:
  "/opt/elasticbeanstalk/hooks/appdeploy/post/99_restart_delayed_job.sh":
    mode: "000755"
    owner: root
    group: root
    encoding: plain
    content: |
      #!/usr/bin/env bash
      . /opt/elasticbeanstalk/support/envvars
      cd $EB_CONFIG_APP_CURRENT
      su -c "RAILS_ENV=production bin/delayed_job --pid-dir=$EB_CONFIG_APP_SUPPORT/pids restart" $EB_CONFIG_APP_USER
Run Code Online (Sandbox Code Playgroud)

99_restart_delayed_job.sh脚本存在并运行...但后来我偶然发现了这个错误.

2014-10-02 15:28:32,332 [INFO] (17387 MainThread) [directoryHooksExecutor.py-29] [root directoryHooksExecutor info] Script succeeded.
2014-10-02 15:28:32,402 [INFO] (17448 MainThread) [directoryHooksExecutor.py-29] [root directoryHooksExecutor info] Executing directory: /opt/elasticbeanstalk/hooks/appdeploy/post/
2014-10-02 15:28:32,402 [INFO] (17448 MainThread) [directoryHooksExecutor.py-29] [root directoryHooksExecutor info] Executing script: /opt/elasticbeanstalk/hooks/appdeploy/post/99_restart_delayed_job.sh
/usr/share/ruby/vendor_ruby/2.0/rubygems/core_ext/kernel_require.rb:55:in `require': cannot load such …
Run Code Online (Sandbox Code Playgroud)

deployment ruby-on-rails amazon-web-services delayed-job amazon-elastic-beanstalk

5
推荐指数
1
解决办法
863
查看次数