【问题标题】:Running multiple docker instances in EC2在 EC2 中运行多个 docker 实例
【发布时间】:2016-01-17 08:39:45
【问题描述】:
我是 AWS 新手。如果我的问题没有意义,请多多包涵。
我的目标是在一个 AWS EC2 实例中运行多个 docker 容器(具有不同的 docker 配置)。
到目前为止,我已经能够使用 java SDK 以编程方式启动和停止 EC2 实例。
我想为了在 EC2 中运行 docker 实例,我将不得不使用 ECS Api(AmazonECSClient - 包含在 AWS java SDK 中)。
不幸的是,我几乎找不到任何使用 AWS java SDK 的示例。
有谁知道如何做到这一点?任何指针都会有所帮助。
【问题讨论】:
标签:
java
amazon-web-services
amazon-ec2
docker
amazon-ecs
【解决方案1】:
ECS 是来自亚马逊的容器服务,需要您将应用程序配置为由该服务管理。
如果您不想使用 ECS,则通过 ec2 SDK 的唯一选择是通过用户数据部分的脚本定义容器的启动。但是你只能在实例启动时控制容器的启动。
如果您需要更多地控制 docker 进程的启动和停止,您可能需要添加用于编排的工具,例如 chef、puppet 和 ansible。
【解决方案2】:
api 文档here 给出了足够清晰的答案。
你基本上;
- 在本地创建 docker 镜像。
- 上传/推送到您的 docker 注册表(例如 docker hub)
- 指定一个任务定义,包括您的 docker 映像参考。
- 根据任务定义中指定的容器映像启动集群。