我正在Elastic beanstalk中部署Dockerfile和Dockerrun.aws.json并且由于某些命令超过了最大命令超时而发出错误。我可以通过转到更新和部署以及修改最大超时来修复此错误。但我想知道是否有一个命令来增加Dockerrun.aws.json中EBS的最大命令超时?还是另一种自动完成的方式?
答案 0 :(得分:1)
不能使用Dockerrun.aws.json来增加超时,但您可以使用此选项设置在应用源中捆绑ebextension。
在名为.ebextensions
的目录中的应用来源中创建一个文件。假设文件是.ebextensions/01-increase-timeout.config
。
该文件的内容应为:
option_settings:
- namespace: aws:elasticbeanstalk:command
option_name: Timeout
value: 1000
请注意,此文件采用YAML格式。 在此之后,您可以使用此版本的源代码更新您的环境。
答案 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} }