ElasticBeanstalk 与 Docker:如何使用来自 aws cli 的创建环境

Posted

技术标签:

【中文标题】ElasticBeanstalk 与 Docker:如何使用来自 aws cli 的创建环境【英文标题】:ElasticBeanstalk with Docker: how to use create-environment from aws cli 【发布时间】:2015-08-20 09:56:28 【问题描述】:

我正在尝试使用 aws cli 为 Docker 创建一个新环境。我可以通过 aws Web 控制台轻松地做到这一点,但我必须从下拉菜单中选择“类型:WebServer”和“配置:Docker”。我看不到这些选项在aws elasticbeanstalk create-environmentarguments 中的位置。 (我也没有在 --option-settings docs 中看到它们。)是否有可用的示例?

【问题讨论】:

【参考方案1】:

您可以通过此命令查看 AWS 中可用的堆栈名称:

aws elasticbeanstalk list-available-solution-stacks

目前最后一个 docker 镜像是运行 Docker 17.12.1-ce 的 64 位 Amazon Linux 2018.03 v2.10.0

https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/concepts.platforms.html

之后,您创建了一个 Elastic Beanstalk 应用程序,执行以下命令来创建环境

aws elasticbeanstalk create-environment --application-name MyApp --environment-name my-env --cname-prefix my-app1 --version-label v1 --solution-stack-name "64bit Amazon Linux 2018.03 v2. 10.0 运行 Docker 17.12.1-ce"

【讨论】:

【参考方案2】:

我没有尝试过,但我假设有一个 --solution-stack-name 选项,您可以在其中传递诸如 64bit Amazon Linux 2015.03 v1.4.1 running Docker 1.6.0 之类的值。您也可以在 json 文件上指定解决方案堆栈,并通过 --option-settings file://your_options.json 指定 json 文件,您可以在其中包含除解决方案堆栈之外的其他选项

"SolutionStackName": "64bit Amazon Linux 2015.03 v1.4.1 running Docker 1.6.0"

您可以在此处查看可能使用的值:docs.aws.amazon.com/elasticbeanstalk/latest/dg/concepts.platforms.html

【讨论】:

是的,我让它与 --solution-stack-name "64bit Amazon Linux 2015.03 v1.4.1 running Docker 1.6.0" 一起工作。工作完美。 (但我不确定您是否能够将其放入 your_options.json 文件中是正确的。我没有在文档中看到该选项,当我尝试您建议的语法时,它窒息了。)谢谢。 【参考方案3】:

使用 Dockerrun.aws.json 转到文件夹。

.elasticbeanstalk/config.yml添加

global:
  default_platform: 64bit Amazon Linux 2015.03 v1.4.1 running Docker 1.6.0

使用 eb 命令:eb init && eb create

How to install eb.

【讨论】:

您是否建议将 eb cli 与 AWS cli 分开安装?我认为特定的 cli 已被弃用,因此您现在可以使用“aws elasticbeanstalk create-environment ...”等运行所有 eb 命令。 好吧,如果你没有其他成功的答案:) 但我只是说什么对我有用;我自己是aws的新手,但我认为它可能会对你有所帮助。

以上是关于ElasticBeanstalk 与 Docker:如何使用来自 aws cli 的创建环境的主要内容,如果未能解决你的问题,请参考以下文章

ElasticBeanstalk 与 Docker:如何使用来自 aws cli 的创建环境

ElasticBeanstalk - 无法从私有 Docker Hub 存储库中提取 docker 映像

无法将多容器 docker 部署到 ElasticBeanstalk

elasticbeanstalk 和 ecr 中的 docker 映像存在问题

如何在 Elasticbeanstalk 环境中运行的 docker 容器中承担 AWS 角色?

Docker 容器在本地工作,但在上传到 elasticbeanstalk 时不工作