从Dockerrun.aws.json -AWS增加EBS中的命令超时

时间:2015-05-08 17:32:12

标签: amazon-web-services deployment docker elastic-beanstalk

我正在Elastic beanstalk中部署Dockerfile和Dockerrun.aws.json并且由于某些命令超过了最大命令超时而发出错误。我可以通过转到更新和部署以及修改最大超时来修复此错误。但我想知道是否有一个命令来增加Dockerrun.aws.json中EBS的最大命令超时?还是另一种自动完成的方式?

2 个答案:

答案 0 :(得分:1)

不能使用Dockerrun.aws.json来增加超时,但您可以使用此选项设置在应用源中捆绑ebextension。

在名为.ebextensions的目录中的应用来源中创建一个文件。假设文件是​​.ebextensions/01-increase-timeout.config

该文件的内容应为:

option_settings:
    - namespace: aws:elasticbeanstalk:command
      option_name: Timeout
      value: 1000

请注意,此文件采用YAML格式。 在此之后,您可以使用此版本的源代码更新您的环境。

此前已在此处回答:https://stackoverflow.com/a/25558805/161628

答案 1 :(得分:0)

另一个选项是使用Windows PowerShell的Aws工具执行此操作。这一个班轮将获得您账户中的每个EB环境,然后将命令超时设置为400秒,每个命令之间休眠15秒,以避免AWS的API速率限制。

PS C:\> get-ebenvironment | % {start-sleep -Seconds 15;  Update-EBEnvironment -ApplicationName $_.ApplicationName -EnvironmentName $_.EnvironmentName -OptionSetting @{"namespace"="aws:elasticbeanstalk:command"; "optionName"="Timeout";  "value"=400} }