amazon-web-services - 如何使用 Terraform 为 AWS 指定 Dockerrun.aws.json

标签 amazon-web-services amazon-ec2 amazon-elastic-beanstalk terraform

我正在尝试通过 Elastic Beanstalk 使用 AWS 托管一个 Docker 应用程序。在手动创建环境时,我可以选择在环境中运行示例应用程序、上传我自己的应用程序或从 s3 中提取应用程序。通过上传 Dockerrun.aws.json文件包含环境能够拉取和运行我的 Docker 镜像的所有必要配置。

现在我正在使用 Terraform 以编程方式创建和配置这些环境。但是,在创建时,它们都运行示例应用程序,当我尝试手动将 Dockerrun 文件上传到环境时,这反过来会导致问题。

在 Terraform 配置中包含 Dockerrun 信息以便我的应用程序可以顺利部署的正确方法是什么?

最佳答案

您应该使用 S3 存储桶来存储 Dockerrun.aws.json并设置一个 Beanstalk 应用程序版本。

就像是:

resource "aws_elastic_beanstalk_application_version" "latest" {
  name        = "latest"
  application = "your_app"
  bucket      = "your_bucket"
  key         = "Dockerrun.aws.json"
}

然后添加到您的 Beanstalk 环境中:
version_label = "${aws_elastic_beanstalk_application_version.latest.name}"

当然,最好使用引用而不是硬编码名称。

关于amazon-web-services - 如何使用 Terraform 为 AWS 指定 Dockerrun.aws.json,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44634079/

相关文章:

amazon-web-services - 为什么我们需要 AWS VPC NAT 实例?

amazon-ec2 - EBS 用于存储数据库与网站文件

amazon-web-services - 无法安装弹性 beantalk AWS

python - 在另一个区域调用 Lambda 并在调用的区域进行更改

amazon-web-services - AWS Lambda SQS 触发器节流/限制

node.js - 如何配置我的 Nodejs 应用程序以仅响应 SSL 连接?

ruby-on-rails - 如何让 Elastic Beanstalk 连接到服务器编译的 Assets ?

java - 启用 ssl 和 Elastic Beanstalk 的 Spring boot - 找不到文件

python - IAM 凭证错误 404

amazon-web-services - 在 x86 桌面上运行使用 ARMv7 基础镜像构建的 Docker 镜像时出现问题