【发布时间】:2017-09-20 05:42:20
【问题描述】:
您好 Stackoverflow 社区,我有一个关于将 Docker 与 AWS EC2 结合使用的问题。我对 EC2 很满意,但对 Docker 很陌生。我使用 Python 3.6 编写代码,并希望自动执行以下过程:
1:使用Docker启动EC2实例(Docker镜像存储在ECR中)
2:运行一次性流程并以 CSV 格式返回结果(我们称之为“T”)
3:在 AWS S3 中存储“T”
4:关闭 EC2
使用 EC2 实例的原因是因为该过程计算量很大,并且对于我的本地计算机不可行。使用 Docker 的原因是确保整个团队和 CI 设施(目前使用 circle.ci)的开发环境是相同的。我知道与 AWS 的交互主要可以使用 Boto3 完成。
我一直在阅读有关 AWS 自己的 ECS 的信息,我感觉它更适合使用 Docker 部署 Web 应用程序,而不是运行一次性流程。然而,当我在 EC2 + Docker 周围搜索时,除了 ECS 什么都没有出现。我也在 AWS 中完成了教程,但没有多大帮助。
我也考虑过使用 shell 脚本运行 EC2(即下载 docker、拉取镜像、构建容器等),但感觉有点 hacky?因此我的问题是:
1:ECS真的是他场景中最合适的解决方案吗? (或者换句话说,ECS 是为此类操作设计的?)
2:如果有,有没有人使用 ECS 设置和运行一次性流程的示例? (我发现设置真的很混乱,尤其是使用的术语)
3:还有哪些其他选择(如果有)?
非常感谢您的帮助!
【问题讨论】:
标签: docker amazon-ec2 amazon-ecs