如何使用 Amazon linux 2 在 Elastic beanstalk 中使用多容器 docker?

Posted

技术标签:

【中文标题】如何使用 Amazon linux 2 在 Elastic beanstalk 中使用多容器 docker?【英文标题】:How to use multi container docker in Elastic beanstalk using Amazon linux 2? 【发布时间】:2021-10-29 10:41:40 【问题描述】:

目前,Amazon 已弃用 Multi-container Docker running on 64bit Amazon Linux。需要迁移到 Docker running on 64bit Amazon Linux 2。在第一个版本中,我们使用Dockerrun.aws.json v2 来管理多容器 docker。在最新版本(Docker running on 64bit Amazon Linux 2)中,我们需要使用Dockerrun.aws.json v3docker-compose。但是没有可用的示例或博客可用。我可以得到工作样品吗?。

【问题讨论】:

【参考方案1】:

关于在 64 位 Amazon Linux 2 平台上运行的 Elastic Beanstalk 和 Docker。

我也在苦苦挣扎,终于走到了尽头。让我感到困惑的是,文档让您看起来可以选择在您的 EB 应用程序包中使用 Dockerrun.aws.json (v3) 或 docker-compose.yml。

然后你去寻找关于 Dockerrun.aws.json (v3) 的文档,你在任何地方都找不到。

这样做的原因是,您别无选择。如果要运行多个容器,则必须在应用程序包中包含 docker-compose.yml。 Dockerrun.aws.json (v3) 唯一允许您做的事情是配置 s3 存储桶和密钥到您的容器存储库身份验证文件“.dockercfg”的位置

这本质上是“Dockerrun.aws.json (v3)”的文档,它不支持类似于“Dockerrun.aws.json (v2)”的任何内容


  "AWSEBDockerrunVersion": "3",
  "Authentication": 
    "bucket": "DOC-EXAMPLE-BUCKET",
    "key": "mydockercfg"
  

包含 docker-compose.yml,只有当 docker 映像位于私有存储库中时,您才需要 dockerrun.aws.json (v3)。

https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/single-container-docker-configuration.html

【讨论】:

你能帮我这里的“桶”值吗?我的图像在私有存储库中。 存储桶是指“.dockercfg”文件所在的存储桶。该文件将包含访问您的私有存储库的凭据。但是,如果您的私人仓库托管在 ECR 中,则不需要此配置文件。

以上是关于如何使用 Amazon linux 2 在 Elastic beanstalk 中使用多容器 docker?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Amazon Linux 2 平台上使用 Elastic Beanstalk 部署的 Node Js 中实现 gzip 压缩?

如何在 Amazon linux 2 上启用 cgroups V2

如何使用 Amazon Linux 2、单容器、无 Docker Compose 在 AWS Elastic Beanstalk 上获取 SYS_PTRACE

如何在最新的 Amazon linux AMI 中升级 docker

pg_dump:如何在 Amazon Linux 上安装 PostgreSQL 9.5.2?

text 如何使用PHP7在Amazon Linux中安装Xdebug