Docker for AWS 目前已普遍具有可用性

  • Jona Fenocchi
  • Alina

2017 年 2 月 7 日

话题:AWSDevOps

Docker 公司去年底针对Amazon ECS推出了 Docker for AWS 的公众测试版:这是一种用于管理和编排 Docker 容器的 AWS 兼容服务。目前 Docker for AWS 已普遍具有可用性。

在公众测试版公告里,Docker 公司提到了几项新的增强功能。 首先,现在所有容器日志都发送到 AWS CloudWatch,以改进聚合、分析、报告和监控,从而减少使用 SSH 登录到单个主机的需要。其次,这项服务还配备了诊断工具,以便于提供支持。 此外,还有一个新选项允许选择更大范围的根卷,这意味着现在基于本地主机的 SSD 已具备可用性。目前已经有了关于Docker for AWS 的演示

InfoQ 就 Docker for AWS 与 Amazon ECS 之间的比较采访了 Docker 公司,公司公关总监 Suzanne Panoplos 解释说:

Docker for AWS 是由 Docker 公司开发并发行的。它发行的版本与常规 Docker 发行的版本同步,因此使用 Docker for AWS 可以让你随时获得最新最好的 Docker 版本。

Docker for AWS 在启用了群模式的情况下设置了标准的 Docker 环境。这意味着用户无需额外的配置步骤,就可以使用 Docker 内置的安全且高性能编排器。 具有群模式功能的 Docker 可用于任何基础架构。而 ECS 使用自己的调度程序,仅适用于 AWS 环境。此外 ECS 与 Docker 所使用的工具不同:要使用 ECS 部署应用程序时,不能使用“docker”或“docker-compose”,而必须使用 ECS CLI。ECS CLI 与开源的 Docker 工具所支持的软件不同。

在撰写本文时,Amazon ECS 已经可以支持 Docker1.12.6 版,而此时Docker Engine 的最新稳定版本是 1.13.0 版。

尽管 Docker for AWS 是一种托管服务,但它通过 SSH 提供了完整的 Docker CLI。 Amazon ECS 可能需要付出巨大努力才能实施任何超越初级阶段的调度。为了解决这个缺点,Amazon 最近推出了 ECS 的调度框架Blox。 Blox 具有两个组件,一个守护进程调度器(在每个容器上执行一个任务)和一个集群状态服务(监视用于从 ECS 发出的 CloudWatch 事件的 SQS 队列),并通过 REST API 为调度器组件提供方便的当前状态。这为在集群中构建更复杂的调度功能奠定了基础。

但是,Docker 不计划在 Docker for AWS 中添加对 Blox 的支持。根据 Panoplos 的说法,“Docker for AWS 使用 Docker 内置的群模式编排和调度,并且是根据我们数百万用户的反馈和需求而开发的。”Docker 不支持 Blox,而是与 Amazon 合作解耦它的核心容器运行时——containerd,希望未来可以供 Blox 使用。

在发布 GA 版之前,公众测试版公告是对 Docker 之前公布的 Docker for AWS 的私人测试版的跟进,集成了AWS Elastic Load BalancingEC2 Security GroupKeyPair的安全功能。

查看英文原文Docker for AWS Now Generally Available


感谢刘志勇对本文的审校。

给 InfoQ 中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家通过新浪微博(@InfoQ@丁晓昀),微信(微信号:InfoQChina)关注我们。

AWSDevOps