我有一个托管在AWS EB单容器Docker上的Nodejs应用程序。我从应用程序连接到MySQL数据库。目前,我通过上传zip文件从AWS控制台部署我的应用程序。一切都在按预期进行。我希望能够使用CLI将更改推送到AWS。据我所知,我需要docker-compose.yml文件来完成这项工作。我见过docker-compose文件的示例,它创建了两个容器,一个用于node,另一个用于mysql。有没有办法在使用docker-compose.yml的同时仍然部署到单个容器Docker?
提前感谢您的指导。
发布于 2020-01-17 03:26:11
我不认为您可以将docker-compose文件部署到Elastic Beanstalk。但是,我可以想到两种从命令行部署代码的方法:
一种方法是将现有的压缩文件放入s3存储桶(可以编写脚本),然后使用Elastic Beanstalk命令行,如下所示:
aws elasticbeanstalk create-application-version --application-name avengers \
--version-label v1 \
--source-bundle S3Bucket="avengers-docker-eb",S3Key="deployment.zip" \
--auto-create-application \
--region eu-west-3完整的说明在这里:https://read.acloud.guru/docker-on-elastic-beanstalk-tips-e1a4e6b70ff2
第二种方法,也是您可能更喜欢的一种,是在s3存储桶或docker注册表中创建一个指向docker映像的Dockerrun.aws.json文件(您可以使用aws )。在那里,您可以从cli更新应用程序,如下所示:
aws elasticbeanstalk update-environment --application-name [your_app_name] --environment-name [your_environment_name] --version-label [your_version_label]相关的文档在这里:https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/single-container-docker.html
是
https://stackoverflow.com/questions/59776092
复制相似问题