如何使用Amazon Linux 2在Elastic Beanstalk中使用多容器Docker?

oknwwptz  于 2023-03-29  发布在  Docker
关注(0)|答案(3)|浏览(170)

目前,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。但是没有工作示例或博客可用。我可以获得工作示例吗?

2cmtqfgy

2cmtqfgy1#

关于在64位亚马逊Linux 2平台上运行的弹性豆茎和Docker。
我也很纠结,最后终于弄明白了。让我困惑的是,文档让人觉得你可以选择在EB应用程序包中使用Dockerrun.aws.json(v3)或docker-compose.yml。
然后你去寻找Dockerrun.aws.json(v3)上的文档,你在任何地方都找不到它。
原因是,你没有选择。如果你想运行多个容器,你必须在你的应用程序包中包含一个docker-compose.yml。Dockerrun.aws.json(v3)允许你做的唯一一件事就是配置s3 bucket和key到你的容器存储库身份验证文件“.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

at0kjp5o

at0kjp5o2#

根据AWS Docs,在Amazon Linux上运行的多容器Docker可以迁移到Amazon Linux 2上的ECS
与使用Elastic Beanstalk控制台相比,使用CLI应用此选项似乎更容易,因为它需要一个命令:

aws elasticbeanstalk update-environment \
--environment-name ${my-env} \
--solution-stack-name "64bit Amazon Linux 2 ${version} running ECS" \
--region ${my-region}

我建议您首先克隆您想要升级的环境,将上面提到的命令应用到这个复制的环境并对其进行测试,如果一切都按预期工作,那么您可以使用blue/green deployment来避免停机。
希望这能对某人有所帮助!

t30tvxxf

t30tvxxf3#

现在(2023年),如果你仍然需要从Multi-container Docker running on 64bit Amazon平台迁移,你可以选择创建一个ECS running on 64bit Amazon Linux 2/3.2.5环境,它将支持与多容器环境相同的Dockerrun.aws.json(v2)文件:Migrating Multi-container Docker running on Amazon Linux to ECS on Amazon Linux 2 .
或者您也可以尝试按照Osain给出的响应进行迁移。

相关问题