在AWS Dockerrun.aws.json文件中添加Docker Run命令选项

时间:2018-04-15 12:50:13

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

在我的docker-compose.yml文件中,我可以执行以下操作:

splash:
  image: scrapinghub/splash
  command: --max-timeout 300
  ports:
    - "8050:8050"

正如您所看到的,我只是将我想要添加的其他选项传递给在映像中执行的docker run命令。

当我尝试将此应用到部署到Amazon Elastic Beanstalk的Dockerrun.aws.json文件时,写下以下内容时出错:

{
    "name": "splash",
    "image": "scrapinghub/splash", 
    ...
    "command": [
        "--max-timeout 300"
    ]
},

所以问题是,如何将--max-timeout参数添加到我的AWS部署中我的Docker Image正在执行的默认命令中?

1 个答案:

答案 0 :(得分:0)

您无法通过使用DOCKER RUN选项自定义AWS如何启动容器。你必须使用.ebextensions。 如果要增加超时,请在ZIP包的.ebextensions子目录中创建一个文件(它应该已包含Dockerrun.aws.json文件):

option_settings:
  - namespace: aws:elb:policies
    option_name: ConnectionSettingIdleTimeout
    value: 300
  - namespace: aws:elasticbeanstalk:command
    option_name: Timeout
    value: 300
  - namespace: aws:elbv2:loadbalancer
    option_name: IdleTimeout
    value: 300