2

下面是在 elasticbeanstalk 中运行 docker 容器的应用程序的设置。

在此处输入图像描述

步骤1:

创建了父文件夹 apptest 并在其中放置了 Dockerfile、package.json 和 small hello world server.js 节点应用程序。

第2步:

在父文件夹内apptest运行命令,该命令创建了一个包含默认设置eb init的隐藏文件夹。.elasticbeanstalkconfig.yml

第 3 步:

添加.ebextensions了一个配置文件01_run.config,包括以下配置以更新实例类型。

option_settings:
    aws:autoscaling:launchconfiguration :
        InstanceType : "m4.xlarge"

请注意,到目前为止还没有创建任何环境。并且由于我创建了扩展,因此应该使用指向的实例类型覆盖默认值m4.xlarge

第4步:

现在运行命令eb create apptest-dev(例如)并创建环境


问题:

创建环境时,它没有m4.xlarge,而是使用默认实例类型创建为t2.micro. 但是,当从控制台(不包括 .elasticbeanstalk 文件夹)将此文件夹内容的压缩版本上传到环境中时,会获取文件ebextensions夹配置。它只是option_settings没有得到工作,但其他资源如files,commands正在从命令行和文件上传中得到反映。

我觉得它缺少一种非常小的东西,我无法从博客和文档中弄清楚。我在这里先向您的帮助表示感谢。

4

1 回答 1

2

在 期间eb create,EBCLI 为许多选项设置传递了它自己的默认值,其中包括实例类型。由于 EBCLI 不解析 .ebextensions,并且 Beanstalk 服务更喜欢 EBCLI 传递的默认值,因此您的 .ebextensions 中指定的实例类型将被忽略。

有两种方法可以解决这个问题:

  1. eb config之后打电话eb create。在交互模式下,更改实例类型,保存退出。
  2. 称为eb create_eb create -i m4.xlarge
于 2018-08-02T19:01:05.807 回答