目前,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 v3
或docker-compose
。但是没有可行的例子或可用的博客。我可以得到工作样本吗?
关于Elastic Beanstalk和运行在64位Amazon Linux 2平台上的Docker
我也在挣扎,最后终于找到了它的底部。让我感到困惑的是,文档使您似乎可以选择使用Dockerrun.aws.json (v3)或docker-compose。
然后你去寻找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。只有当docker映像位于私有存储库中时,你才需要dockerrun.aws.json (v3)。
https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/single-container-docker-configuration.html
根据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}
我建议你首先克隆你想要升级的环境,将上面提到的命令应用到这个复制的环境并测试它,如果一切都如预期的那样工作,那么你可以使用蓝/绿部署来避免停机。
我希望这能帮助到别人!
现在(2023),如果您仍然需要从Multi-container Docker running on 64bit Amazon
平台迁移,您可以选择创建一个ECS running on 64bit Amazon Linux 2/3.2.5
环境,该环境将支持与多容器相同的Dockerrun.aws.json
(v2)文件:将运行在Amazon Linux上的多容器Docker迁移到Amazon Linux 2上的ECS。
或者您也可以尝试按照Osain给出的响应进行迁移。